apeframework 0.0.0-dev.2 → 0.0.0-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -36
- package/cipher/Algorithm.d.ts +6 -0
- package/cipher/Algorithm.js +9 -0
- package/cipher/Algorithm.ts +9 -0
- package/cipher/Cipher.d.ts +12 -0
- package/cipher/Cipher.js +38 -0
- package/cipher/Cipher.ts +46 -0
- package/cipher/errors/CipherDecryptError.d.ts +5 -0
- package/cipher/errors/CipherDecryptError.js +10 -0
- package/cipher/errors/CipherDecryptError.ts +11 -0
- package/cipher/errors/CipherSecretLengthError.d.ts +5 -0
- package/cipher/errors/CipherSecretLengthError.js +10 -0
- package/cipher/errors/CipherSecretLengthError.ts +11 -0
- package/cipher/validateSecretLength.d.ts +3 -0
- package/cipher/validateSecretLength.js +16 -0
- package/cipher/validateSecretLength.ts +18 -0
- package/cli/Args.d.ts +5 -0
- package/cli/Args.ts +8 -0
- package/cli/Command.d.ts +3 -0
- package/cli/Command.ts +7 -0
- package/cli/getArgs.d.ts +3 -0
- package/cli/getArgs.js +8 -0
- package/cli/getArgs.ts +10 -0
- package/cli/parseArgs.d.ts +3 -0
- package/cli/parseArgs.js +31 -0
- package/cli/parseArgs.ts +34 -0
- package/cli/utils/exit.d.ts +2 -0
- package/cli/utils/exit.js +7 -0
- package/cli/utils/exit.ts +7 -0
- package/cli/utils/formatList.d.ts +2 -0
- package/cli/utils/formatList.js +10 -0
- package/cli/utils/formatList.ts +11 -0
- package/cli/utils/formatTable.d.ts +2 -0
- package/cli/utils/formatTable.js +22 -0
- package/cli/utils/formatTable.ts +25 -0
- package/cli/utils/formatText.d.ts +2 -0
- package/cli/utils/formatText.js +8 -0
- package/cli/utils/formatText.ts +9 -0
- package/cli/utils/write.d.ts +2 -0
- package/cli/utils/write.js +7 -0
- package/cli/utils/write.ts +7 -0
- package/cli/utils/writeLn.d.ts +2 -0
- package/cli/utils/writeLn.js +8 -0
- package/cli/utils/writeLn.ts +9 -0
- package/config/Config.d.ts +2 -0
- package/config/Config.ts +5 -0
- package/config/Properties.d.ts +8 -0
- package/config/Properties.ts +12 -0
- package/config/errors/ConfigFileReadError.d.ts +5 -0
- package/config/errors/ConfigFileReadError.js +10 -0
- package/config/errors/ConfigFileReadError.ts +11 -0
- package/config/errors/ConfigParseError.d.ts +5 -0
- package/config/errors/ConfigParseError.js +10 -0
- package/config/errors/ConfigParseError.ts +11 -0
- package/config/errors/ConfigPropertyNameError.d.ts +5 -0
- package/config/errors/ConfigPropertyNameError.js +10 -0
- package/config/errors/ConfigPropertyNameError.ts +11 -0
- package/config/getConfig.d.ts +14 -0
- package/config/getConfig.js +21 -0
- package/config/getConfig.ts +47 -0
- package/config/getPropertyEnvVar.d.ts +2 -0
- package/config/getPropertyEnvVar.js +13 -0
- package/config/getPropertyEnvVar.ts +15 -0
- package/config/parseProperty.d.ts +3 -0
- package/config/parseProperty.js +37 -0
- package/config/parseProperty.ts +47 -0
- package/config/readFile.d.ts +2 -0
- package/config/readFile.js +31 -0
- package/config/readFile.ts +34 -0
- package/config/validatePropertyName.d.ts +2 -0
- package/config/validatePropertyName.js +11 -0
- package/config/validatePropertyName.ts +13 -0
- package/db/ColumnBuilder.d.ts +13 -0
- package/db/ColumnBuilder.js +42 -0
- package/db/ColumnBuilder.ts +61 -0
- package/db/Database.d.ts +19 -0
- package/db/Database.js +49 -0
- package/db/Database.ts +74 -0
- package/db/Driver.d.ts +30 -0
- package/db/Driver.ts +33 -0
- package/db/NullConstraint.d.ts +2 -0
- package/db/NullConstraint.ts +5 -0
- package/db/ReferentialAction.d.ts +2 -0
- package/db/ReferentialAction.ts +5 -0
- package/db/TableBuilder.d.ts +49 -0
- package/db/TableBuilder.js +234 -0
- package/db/TableBuilder.ts +367 -0
- package/db/adapters/mysql/createMysqlDatabase.d.ts +12 -0
- package/db/adapters/mysql/createMysqlDatabase.js +32 -0
- package/db/adapters/mysql/createMysqlDatabase.ts +39 -0
- package/db/adapters/mysql/driver.d.ts +3 -0
- package/db/adapters/mysql/driver.js +43 -0
- package/db/adapters/mysql/driver.ts +45 -0
- package/db/adapters/mysql/typeCast.d.ts +2 -0
- package/db/adapters/mysql/typeCast.js +17 -0
- package/db/adapters/mysql/typeCast.ts +18 -0
- package/db/adapters/postgres/driver.d.ts +3 -0
- package/db/adapters/postgres/driver.js +43 -0
- package/db/adapters/postgres/driver.ts +45 -0
- package/db/adapters/sqlite/driver.d.ts +3 -0
- package/db/adapters/sqlite/driver.js +43 -0
- package/db/adapters/sqlite/driver.ts +45 -0
- package/db/errors/DbColumnLengthError.d.ts +5 -0
- package/db/errors/DbColumnLengthError.js +10 -0
- package/db/errors/DbColumnLengthError.ts +11 -0
- package/db/errors/DbColumnMaxLengthError.d.ts +5 -0
- package/db/errors/DbColumnMaxLengthError.js +10 -0
- package/db/errors/DbColumnMaxLengthError.ts +11 -0
- package/db/errors/DbColumnPrecisionError.d.ts +5 -0
- package/db/errors/DbColumnPrecisionError.js +10 -0
- package/db/errors/DbColumnPrecisionError.ts +11 -0
- package/db/errors/DbColumnScaleError.d.ts +5 -0
- package/db/errors/DbColumnScaleError.js +10 -0
- package/db/errors/DbColumnScaleError.ts +11 -0
- package/db/getConstraintName.d.ts +2 -0
- package/db/getConstraintName.js +15 -0
- package/db/getConstraintName.ts +18 -0
- package/db/getReferentialActionSql.d.ts +3 -0
- package/db/getReferentialActionSql.js +12 -0
- package/db/getReferentialActionSql.ts +17 -0
- package/db/setNullConstraint.d.ts +4 -0
- package/db/setNullConstraint.js +9 -0
- package/db/setNullConstraint.ts +15 -0
- package/db/validateColumnLength.d.ts +2 -0
- package/db/validateColumnLength.js +10 -0
- package/db/validateColumnLength.ts +11 -0
- package/db/validateColumnMaxLength.d.ts +2 -0
- package/db/validateColumnMaxLength.js +10 -0
- package/db/validateColumnMaxLength.ts +11 -0
- package/db/validateColumnPrecision.d.ts +2 -0
- package/db/validateColumnPrecision.js +14 -0
- package/db/validateColumnPrecision.ts +15 -0
- package/env/Env.d.ts +2 -0
- package/env/Env.ts +5 -0
- package/env/errors/EnvFileReadError.d.ts +5 -0
- package/env/errors/EnvFileReadError.js +10 -0
- package/env/errors/EnvFileReadError.ts +11 -0
- package/env/getEnv.d.ts +8 -0
- package/env/getEnv.js +15 -0
- package/env/getEnv.ts +24 -0
- package/env/readFile.d.ts +3 -0
- package/env/readFile.js +24 -0
- package/env/readFile.ts +24 -0
- package/error/BaseError.d.ts +4 -0
- package/error/BaseError.js +12 -0
- package/error/BaseError.ts +12 -0
- package/jwt/Algorithm.d.ts +6 -0
- package/jwt/Algorithm.js +9 -0
- package/jwt/Algorithm.ts +9 -0
- package/jwt/Jwt.d.ts +19 -0
- package/jwt/Jwt.js +61 -0
- package/jwt/Jwt.ts +92 -0
- package/jwt/Payload.d.ts +7 -0
- package/jwt/Payload.ts +10 -0
- package/jwt/errors/JwtSecretLengthError.d.ts +5 -0
- package/jwt/errors/JwtSecretLengthError.js +10 -0
- package/jwt/errors/JwtSecretLengthError.ts +11 -0
- package/jwt/validateSecretLength.d.ts +3 -0
- package/jwt/validateSecretLength.js +16 -0
- package/jwt/validateSecretLength.ts +18 -0
- package/logger/Level.d.ts +9 -0
- package/logger/Level.js +12 -0
- package/logger/Level.ts +12 -0
- package/logger/Logger.d.ts +10 -0
- package/logger/Logger.ts +13 -0
- package/logger/Severity.d.ts +10 -0
- package/logger/Severity.js +13 -0
- package/logger/Severity.ts +13 -0
- package/logger/adapters/file/FileLogger.d.ts +20 -0
- package/logger/adapters/file/FileLogger.js +70 -0
- package/logger/adapters/file/FileLogger.ts +87 -0
- package/logger/adapters/file/errors/FileInitError.d.ts +5 -0
- package/logger/adapters/file/errors/FileInitError.js +10 -0
- package/logger/adapters/file/errors/FileInitError.ts +11 -0
- package/logger/adapters/file/initFile.d.ts +2 -0
- package/logger/adapters/file/initFile.js +20 -0
- package/logger/adapters/file/initFile.ts +18 -0
- package/logger/adapters/noop/NoopLogger.d.ts +11 -0
- package/logger/adapters/noop/NoopLogger.js +13 -0
- package/logger/adapters/noop/NoopLogger.ts +21 -0
- package/logger/adapters/stdio/StdioLogger.d.ts +20 -0
- package/logger/adapters/stdio/StdioLogger.js +71 -0
- package/logger/adapters/stdio/StdioLogger.ts +87 -0
- package/mailer/Address.d.ts +5 -0
- package/mailer/Address.ts +8 -0
- package/mailer/Attachment.d.ts +7 -0
- package/mailer/Attachment.ts +11 -0
- package/mailer/Event.d.ts +16 -0
- package/mailer/Event.ts +20 -0
- package/mailer/EventLocation.d.ts +9 -0
- package/mailer/EventLocation.ts +12 -0
- package/mailer/EventMethod.d.ts +5 -0
- package/mailer/EventMethod.js +8 -0
- package/mailer/EventMethod.ts +8 -0
- package/mailer/List.d.ts +7 -0
- package/mailer/List.ts +10 -0
- package/mailer/Mail.d.ts +19 -0
- package/mailer/Mail.ts +23 -0
- package/mailer/Mailer.d.ts +6 -0
- package/mailer/Mailer.ts +10 -0
- package/mailer/adapters/noop/NoopMailer.d.ts +7 -0
- package/mailer/adapters/noop/NoopMailer.js +11 -0
- package/mailer/adapters/noop/NoopMailer.ts +15 -0
- package/mailer/adapters/smtp/SmtpMailer.d.ts +18 -0
- package/mailer/adapters/smtp/SmtpMailer.js +58 -0
- package/mailer/adapters/smtp/SmtpMailer.ts +72 -0
- package/mailer/adapters/smtp/getAddress.d.ts +4 -0
- package/mailer/adapters/smtp/getAddress.js +12 -0
- package/mailer/adapters/smtp/getAddress.ts +15 -0
- package/mailer/adapters/smtp/getAddresses.d.ts +4 -0
- package/mailer/adapters/smtp/getAddresses.js +14 -0
- package/mailer/adapters/smtp/getAddresses.ts +17 -0
- package/mailer/adapters/smtp/getAttachments.d.ts +4 -0
- package/mailer/adapters/smtp/getAttachments.js +17 -0
- package/mailer/adapters/smtp/getAttachments.ts +20 -0
- package/mailer/errors/MailerAddressEmailError.d.ts +5 -0
- package/mailer/errors/MailerAddressEmailError.js +10 -0
- package/mailer/errors/MailerAddressEmailError.ts +11 -0
- package/mailer/errors/MailerEventAttachmentUrlError.d.ts +5 -0
- package/mailer/errors/MailerEventAttachmentUrlError.js +10 -0
- package/mailer/errors/MailerEventAttachmentUrlError.ts +11 -0
- package/mailer/errors/MailerEventGeolocationError.d.ts +5 -0
- package/mailer/errors/MailerEventGeolocationError.js +10 -0
- package/mailer/errors/MailerEventGeolocationError.ts +11 -0
- package/mailer/errors/MailerEventUrlError.d.ts +5 -0
- package/mailer/errors/MailerEventUrlError.js +10 -0
- package/mailer/errors/MailerEventUrlError.ts +11 -0
- package/mailer/errors/MailerListUrlError.d.ts +5 -0
- package/mailer/errors/MailerListUrlError.js +10 -0
- package/mailer/errors/MailerListUrlError.ts +11 -0
- package/mailer/getIcalendar.d.ts +3 -0
- package/mailer/getIcalendar.js +35 -0
- package/mailer/getIcalendar.ts +39 -0
- package/mailer/validateAddressEmail.d.ts +2 -0
- package/mailer/validateAddressEmail.js +11 -0
- package/mailer/validateAddressEmail.ts +12 -0
- package/mailer/validateEventAttachmentUrl.d.ts +2 -0
- package/mailer/validateEventAttachmentUrl.js +11 -0
- package/mailer/validateEventAttachmentUrl.ts +12 -0
- package/mailer/validateEventGeolocation.d.ts +2 -0
- package/mailer/validateEventGeolocation.js +11 -0
- package/mailer/validateEventGeolocation.ts +15 -0
- package/mailer/validateEventUrl.d.ts +2 -0
- package/mailer/validateEventUrl.js +11 -0
- package/mailer/validateEventUrl.ts +12 -0
- package/mailer/validateListUrl.d.ts +2 -0
- package/mailer/validateListUrl.js +11 -0
- package/mailer/validateListUrl.ts +12 -0
- package/package.json +26 -28
- package/parser/Parser.d.ts +2 -0
- package/parser/Parser.ts +5 -0
- package/parser/errors/ParserInputError.d.ts +5 -0
- package/parser/errors/ParserInputError.js +10 -0
- package/parser/errors/ParserInputError.ts +11 -0
- package/parser/factories/unit/Unit.d.ts +5 -0
- package/parser/factories/unit/Unit.ts +8 -0
- package/parser/factories/unit/createUnitParser.d.ts +7 -0
- package/parser/factories/unit/createUnitParser.js +36 -0
- package/parser/factories/unit/createUnitParser.ts +50 -0
- package/parser/parseBoolean.d.ts +3 -0
- package/parser/parseBoolean.js +14 -0
- package/parser/parseBoolean.ts +16 -0
- package/parser/parseBytes.d.ts +2 -0
- package/parser/parseBytes.js +54 -0
- package/parser/parseBytes.ts +55 -0
- package/parser/parseInteger.d.ts +3 -0
- package/parser/parseInteger.js +19 -0
- package/parser/parseInteger.ts +23 -0
- package/parser/parseMilliseconds.d.ts +2 -0
- package/parser/parseMilliseconds.js +30 -0
- package/parser/parseMilliseconds.ts +31 -0
- package/parser/parseNumber.d.ts +3 -0
- package/parser/parseNumber.js +18 -0
- package/parser/parseNumber.ts +22 -0
- package/parser/parseString.d.ts +3 -0
- package/parser/parseString.js +20 -0
- package/parser/parseString.ts +20 -0
- package/pwd/Pwd.d.ts +9 -0
- package/pwd/Pwd.js +22 -0
- package/pwd/Pwd.ts +31 -0
- package/pwd/errors/PwdHashRoundsError.d.ts +5 -0
- package/pwd/errors/PwdHashRoundsError.js +10 -0
- package/pwd/errors/PwdHashRoundsError.ts +11 -0
- package/pwd/validateHashRounds.d.ts +2 -0
- package/pwd/validateHashRounds.js +10 -0
- package/pwd/validateHashRounds.ts +11 -0
- package/tls/Tls.d.ts +7 -0
- package/tls/Tls.ts +10 -0
- package/tls/errors/TlsFileReadError.d.ts +5 -0
- package/tls/errors/TlsFileReadError.js +10 -0
- package/tls/errors/TlsFileReadError.ts +11 -0
- package/tls/getTls.d.ts +8 -0
- package/tls/getTls.js +17 -0
- package/tls/getTls.ts +24 -0
- package/tls/readFile.d.ts +2 -0
- package/tls/readFile.js +20 -0
- package/tls/readFile.ts +18 -0
- package/utils/getRandomHexString.d.ts +2 -0
- package/utils/getRandomHexString.js +8 -0
- package/utils/getRandomHexString.ts +9 -0
- package/utils/getTimestamp.d.ts +2 -0
- package/utils/getTimestamp.js +7 -0
- package/utils/getTimestamp.ts +7 -0
- package/utils/isValidEmail.d.ts +2 -0
- package/utils/isValidEmail.js +8 -0
- package/utils/isValidEmail.ts +9 -0
- package/utils/isValidGeolocation.d.ts +2 -0
- package/utils/isValidGeolocation.js +10 -0
- package/utils/isValidGeolocation.ts +10 -0
- package/utils/isValidHexString.d.ts +2 -0
- package/utils/isValidHexString.js +8 -0
- package/utils/isValidHexString.ts +9 -0
- package/utils/isValidJwtToken.d.ts +2 -0
- package/utils/isValidJwtToken.js +8 -0
- package/utils/isValidJwtToken.ts +9 -0
- package/utils/isValidUrl.d.ts +2 -0
- package/utils/isValidUrl.js +19 -0
- package/utils/isValidUrl.ts +21 -0
- package/utils/isValidUuid.d.ts +2 -0
- package/utils/isValidUuid.js +8 -0
- package/utils/isValidUuid.ts +10 -0
- package/utils/wait.d.ts +2 -0
- package/utils/wait.js +9 -0
- package/utils/wait.ts +9 -0
- package/api/api.d.ts +0 -7
- package/api/api.ts +0 -8
- package/api/auth.d.ts +0 -9
- package/api/auth.js +0 -11
- package/api/auth.ts +0 -9
- package/api/config.d.ts +0 -13
- package/api/config.js +0 -59
- package/api/config.ts +0 -69
- package/api/endpoint.d.ts +0 -20
- package/api/endpoint.js +0 -5
- package/api/endpoint.ts +0 -23
- package/api/handler.d.ts +0 -8
- package/api/handler.js +0 -13
- package/api/handler.ts +0 -23
- package/api/index.d.ts +0 -7
- package/api/index.js +0 -187
- package/api/index.ts +0 -97
- package/api/route.d.ts +0 -6
- package/api/route.ts +0 -4
- package/api/router.d.ts +0 -4
- package/api/router.js +0 -111
- package/api/router.ts +0 -36
- package/api/schema.d.ts +0 -29
- package/api/schema.js +0 -69
- package/api/schema.ts +0 -98
- package/app/app.d.ts +0 -6
- package/app/app.ts +0 -7
- package/app/boot.d.ts +0 -4
- package/app/boot.ts +0 -5
- package/app/bundle.d.ts +0 -14
- package/app/bundle.ts +0 -15
- package/app/config.d.ts +0 -4
- package/app/config.js +0 -9
- package/app/config.ts +0 -9
- package/app/index.d.ts +0 -9
- package/app/index.js +0 -103
- package/app/index.ts +0 -32
- package/bin/ape-cli-ts.js +0 -4
- package/bin/ape-cli.js +0 -2
- package/cli/command.d.ts +0 -4
- package/cli/command.ts +0 -7
- package/cli/index.d.ts +0 -2
- package/cli/index.js +0 -103
- package/cli/index.ts +0 -41
- package/cli/internal/api.d.ts +0 -3
- package/cli/internal/api.js +0 -110
- package/cli/internal/api.ts +0 -38
- package/cli/internal/index.d.ts +0 -2
- package/cli/internal/index.js +0 -13
- package/cli/internal/index.ts +0 -9
- package/cli/internal/migration.d.ts +0 -3
- package/cli/internal/migration.js +0 -214
- package/cli/internal/migration.ts +0 -110
- package/cli/internal/queue.d.ts +0 -3
- package/cli/internal/queue.js +0 -147
- package/cli/internal/queue.ts +0 -60
- package/cli/utils.d.ts +0 -18
- package/cli/utils.js +0 -52
- package/cli/utils.ts +0 -48
- package/config/config.d.ts +0 -5
- package/config/config.ts +0 -6
- package/config/configuration.d.ts +0 -63
- package/config/configuration.ts +0 -72
- package/config/default.d.ts +0 -33
- package/config/default.js +0 -34
- package/config/default.ts +0 -40
- package/config/env.d.ts +0 -66
- package/config/env.js +0 -72
- package/config/env.ts +0 -79
- package/config/index.d.ts +0 -8
- package/config/index.js +0 -91
- package/config/index.ts +0 -101
- package/config/loadFile.d.ts +0 -2
- package/config/loadFile.js +0 -13
- package/config/loadFile.ts +0 -9
- package/config/node.d.ts +0 -5
- package/config/node.js +0 -11
- package/config/node.ts +0 -7
- package/config/store.d.ts +0 -6
- package/config/store.js +0 -20
- package/config/store.ts +0 -15
- package/db/config/index.d.ts +0 -10
- package/db/config/index.js +0 -43
- package/db/config/index.ts +0 -35
- package/db/config/memory.d.ts +0 -3
- package/db/config/memory.js +0 -15
- package/db/config/memory.ts +0 -13
- package/db/config/mysql.d.ts +0 -3
- package/db/config/mysql.js +0 -56
- package/db/config/mysql.ts +0 -58
- package/db/config/postgres.d.ts +0 -3
- package/db/config/postgres.js +0 -59
- package/db/config/postgres.ts +0 -61
- package/db/config/sqlite.d.ts +0 -3
- package/db/config/sqlite.js +0 -21
- package/db/config/sqlite.ts +0 -20
- package/db/database.d.ts +0 -3
- package/db/database.js +0 -3
- package/db/database.ts +0 -5
- package/db/index.d.ts +0 -10
- package/db/index.js +0 -32
- package/db/index.ts +0 -26
- package/db/postProcess.d.ts +0 -3
- package/db/postProcess.js +0 -25
- package/db/postProcess.ts +0 -27
- package/db/schema/builder/_.d.ts +0 -30
- package/db/schema/builder/_.js +0 -87
- package/db/schema/builder/_.ts +0 -101
- package/db/schema/builder/columnBuilder.d.ts +0 -7
- package/db/schema/builder/columnBuilder.js +0 -14
- package/db/schema/builder/columnBuilder.ts +0 -15
- package/db/schema/builder/dataType.d.ts +0 -28
- package/db/schema/builder/dataType.js +0 -170
- package/db/schema/builder/dataType.ts +0 -184
- package/db/schema/builder/index.d.ts +0 -15
- package/db/schema/builder/index.js +0 -42
- package/db/schema/builder/index.ts +0 -50
- package/db/schema/builder/tableBuilder.d.ts +0 -45
- package/db/schema/builder/tableBuilder.js +0 -307
- package/db/schema/builder/tableBuilder.ts +0 -409
- package/db/schema/config.d.ts +0 -4
- package/db/schema/config.js +0 -5
- package/db/schema/config.ts +0 -3
- package/db/schema/index.d.ts +0 -7
- package/db/schema/index.js +0 -252
- package/db/schema/index.ts +0 -88
- package/db/schema/migration.d.ts +0 -6
- package/db/schema/migration.ts +0 -7
- package/db/schema/migrationList.d.ts +0 -5
- package/db/schema/migrationList.ts +0 -5
- package/db/schema/migrationSource.d.ts +0 -10
- package/db/schema/migrationSource.js +0 -60
- package/db/schema/migrationSource.ts +0 -24
- package/db/schema/schema.d.ts +0 -6
- package/db/schema/schema.ts +0 -7
- package/db/utils/index.d.ts +0 -7
- package/db/utils/index.js +0 -10
- package/db/utils/index.ts +0 -8
- package/db/utils/insertGetKey.d.ts +0 -8
- package/db/utils/insertGetKey.js +0 -109
- package/db/utils/insertGetKey.ts +0 -80
- package/i18n/config.d.ts +0 -4
- package/i18n/config.js +0 -9
- package/i18n/config.ts +0 -9
- package/i18n/i18n.d.ts +0 -5
- package/i18n/i18n.ts +0 -6
- package/i18n/index.d.ts +0 -8
- package/i18n/index.js +0 -155
- package/i18n/index.ts +0 -42
- package/i18n/internationalization.d.ts +0 -3
- package/i18n/internationalization.ts +0 -5
- package/i18n/translation.d.ts +0 -4
- package/i18n/translation.ts +0 -4
- package/jwt/config.d.ts +0 -5
- package/jwt/config.js +0 -12
- package/jwt/config.ts +0 -11
- package/jwt/index.d.ts +0 -8
- package/jwt/index.js +0 -90
- package/jwt/index.ts +0 -60
- package/jwt/jwt.d.ts +0 -6
- package/jwt/jwt.ts +0 -19
- package/jwt/user.d.ts +0 -4
- package/jwt/user.ts +0 -4
- package/log/config.d.ts +0 -23
- package/log/config.js +0 -47
- package/log/config.ts +0 -43
- package/log/index.d.ts +0 -4
- package/log/index.js +0 -9
- package/log/index.ts +0 -9
- package/log/logger.d.ts +0 -3
- package/log/logger.ts +0 -5
- package/mail/config.d.ts +0 -4
- package/mail/config.js +0 -5
- package/mail/config.ts +0 -3
- package/mail/email.d.ts +0 -20
- package/mail/email.ts +0 -21
- package/mail/index.d.ts +0 -2
- package/mail/index.js +0 -4
- package/mail/index.ts +0 -3
- package/mail/mail.d.ts +0 -12
- package/mail/mail.ts +0 -13
- package/mail/module/bypass/index.d.ts +0 -6
- package/mail/module/bypass/index.js +0 -74
- package/mail/module/bypass/index.ts +0 -9
- package/mail/module/config.d.ts +0 -11
- package/mail/module/config.js +0 -24
- package/mail/module/config.ts +0 -25
- package/mail/module/index.d.ts +0 -8
- package/mail/module/index.js +0 -107
- package/mail/module/index.ts +0 -61
- package/mail/module/smtp/config.d.ts +0 -6
- package/mail/module/smtp/config.js +0 -25
- package/mail/module/smtp/config.ts +0 -25
- package/mail/module/smtp/index.d.ts +0 -9
- package/mail/module/smtp/index.js +0 -104
- package/mail/module/smtp/index.ts +0 -36
- package/mq/index.d.ts +0 -3
- package/mq/index.js +0 -27
- package/mq/index.ts +0 -4
- package/mq/module/bypass/index.d.ts +0 -13
- package/mq/module/bypass/index.js +0 -86
- package/mq/module/bypass/index.ts +0 -20
- package/mq/module/config.d.ts +0 -6
- package/mq/module/config.js +0 -15
- package/mq/module/config.ts +0 -14
- package/mq/module/index.d.ts +0 -9
- package/mq/module/index.js +0 -93
- package/mq/module/index.ts +0 -24
- package/mq/module/redis/config.d.ts +0 -27
- package/mq/module/redis/config.js +0 -37
- package/mq/module/redis/config.ts +0 -34
- package/mq/module/redis/index.d.ts +0 -15
- package/mq/module/redis/index.js +0 -132
- package/mq/module/redis/index.ts +0 -60
- package/mq/mq.d.ts +0 -15
- package/mq/mq.ts +0 -18
- package/mq/queue.d.ts +0 -9
- package/mq/queue.js +0 -2
- package/mq/queue.ts +0 -11
- package/pwd/config.d.ts +0 -4
- package/pwd/config.js +0 -9
- package/pwd/config.ts +0 -9
- package/pwd/index.d.ts +0 -6
- package/pwd/index.js +0 -21
- package/pwd/index.ts +0 -20
- package/pwd/pwd.d.ts +0 -4
- package/pwd/pwd.js +0 -2
- package/pwd/pwd.ts +0 -4
- package/utils/index.d.ts +0 -25
- package/utils/index.js +0 -72
- package/utils/index.ts +0 -56
- /package/{api/api.js → cli/Args.js} +0 -0
- /package/{api/route.js → cli/Command.js} +0 -0
- /package/{app/app.js → config/Config.js} +0 -0
- /package/{app/boot.js → config/Properties.js} +0 -0
- /package/{app/bundle.js → db/Driver.js} +0 -0
- /package/{cli/command.js → db/NullConstraint.js} +0 -0
- /package/{config/config.js → db/ReferentialAction.js} +0 -0
- /package/{config/configuration.js → env/Env.js} +0 -0
- /package/{db/schema/migration.js → jwt/Payload.js} +0 -0
- /package/{db/schema/migrationList.js → logger/Logger.js} +0 -0
- /package/{db/schema/schema.js → mailer/Address.js} +0 -0
- /package/{i18n/i18n.js → mailer/Attachment.js} +0 -0
- /package/{i18n/internationalization.js → mailer/Event.js} +0 -0
- /package/{i18n/translation.js → mailer/EventLocation.js} +0 -0
- /package/{jwt/jwt.js → mailer/List.js} +0 -0
- /package/{jwt/user.js → mailer/Mail.js} +0 -0
- /package/{log/logger.js → mailer/Mailer.js} +0 -0
- /package/{mail/email.js → parser/Parser.js} +0 -0
- /package/{mail/mail.js → parser/factories/unit/Unit.js} +0 -0
- /package/{mq/mq.js → tls/Tls.js} +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Attachment } from '../../Attachment'
|
|
2
|
+
import type { Attachment as NodemailerAttachment } from 'nodemailer/lib/mailer'
|
|
3
|
+
|
|
4
|
+
const getAttachments = (attachments?: Attachment[]): NodemailerAttachment[] => {
|
|
5
|
+
return attachments
|
|
6
|
+
? attachments
|
|
7
|
+
.map((attachment) => {
|
|
8
|
+
return {
|
|
9
|
+
filename: attachment.fileName,
|
|
10
|
+
cid: attachment.fileName,
|
|
11
|
+
contentType: attachment.contentType,
|
|
12
|
+
content: attachment.content,
|
|
13
|
+
}
|
|
14
|
+
})
|
|
15
|
+
: []
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export {
|
|
19
|
+
getAttachments,
|
|
20
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MailerAddressEmailError = void 0;
|
|
4
|
+
const BaseError_1 = require("../../error/BaseError");
|
|
5
|
+
class MailerAddressEmailError extends BaseError_1.BaseError {
|
|
6
|
+
constructor(email) {
|
|
7
|
+
super(`invalid address email "${email}"`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.MailerAddressEmailError = MailerAddressEmailError;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MailerEventAttachmentUrlError = void 0;
|
|
4
|
+
const BaseError_1 = require("../../error/BaseError");
|
|
5
|
+
class MailerEventAttachmentUrlError extends BaseError_1.BaseError {
|
|
6
|
+
constructor(url) {
|
|
7
|
+
super(`invalid event attachment url "${url}"`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.MailerEventAttachmentUrlError = MailerEventAttachmentUrlError;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MailerEventGeolocationError = void 0;
|
|
4
|
+
const BaseError_1 = require("../../error/BaseError");
|
|
5
|
+
class MailerEventGeolocationError extends BaseError_1.BaseError {
|
|
6
|
+
constructor(latitude, longitude) {
|
|
7
|
+
super(`invalid event geolocation "${latitude}, ${longitude}"`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.MailerEventGeolocationError = MailerEventGeolocationError;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseError } from '../../error/BaseError'
|
|
2
|
+
|
|
3
|
+
class MailerEventGeolocationError extends BaseError {
|
|
4
|
+
public constructor(latitude: number, longitude: number) {
|
|
5
|
+
super(`invalid event geolocation "${latitude}, ${longitude}"`)
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
MailerEventGeolocationError,
|
|
11
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MailerEventUrlError = void 0;
|
|
4
|
+
const BaseError_1 = require("../../error/BaseError");
|
|
5
|
+
class MailerEventUrlError extends BaseError_1.BaseError {
|
|
6
|
+
constructor(url) {
|
|
7
|
+
super(`invalid event url "${url}"`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.MailerEventUrlError = MailerEventUrlError;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MailerListUrlError = void 0;
|
|
4
|
+
const BaseError_1 = require("../../error/BaseError");
|
|
5
|
+
class MailerListUrlError extends BaseError_1.BaseError {
|
|
6
|
+
constructor(property, url) {
|
|
7
|
+
super(`invalid list ${property} url "${url}"`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.MailerListUrlError = MailerListUrlError;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getIcalendar = void 0;
|
|
4
|
+
const ical_generator_1 = require("ical-generator");
|
|
5
|
+
const getIcalendar = (event) => {
|
|
6
|
+
const calendar = new ical_generator_1.ICalCalendar({
|
|
7
|
+
method: event.method,
|
|
8
|
+
events: [
|
|
9
|
+
{
|
|
10
|
+
id: event.id,
|
|
11
|
+
start: event.start,
|
|
12
|
+
end: event.end,
|
|
13
|
+
allDay: event.allDay,
|
|
14
|
+
summary: event.name,
|
|
15
|
+
description: event.description,
|
|
16
|
+
url: event.url,
|
|
17
|
+
location: event.location
|
|
18
|
+
? {
|
|
19
|
+
title: event.location.name,
|
|
20
|
+
address: event.location.address,
|
|
21
|
+
geo: event.location.geo
|
|
22
|
+
? {
|
|
23
|
+
lat: event.location.geo.latitude,
|
|
24
|
+
lon: event.location.geo.longitude,
|
|
25
|
+
}
|
|
26
|
+
: undefined,
|
|
27
|
+
}
|
|
28
|
+
: undefined,
|
|
29
|
+
attachments: event.attachments,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
});
|
|
33
|
+
return calendar.toString();
|
|
34
|
+
};
|
|
35
|
+
exports.getIcalendar = getIcalendar;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ICalCalendar } from 'ical-generator'
|
|
2
|
+
import type { Event } from './Event'
|
|
3
|
+
import type { ICalCalendarMethod } from 'ical-generator'
|
|
4
|
+
|
|
5
|
+
const getIcalendar = (event: Event): string => {
|
|
6
|
+
const calendar = new ICalCalendar({
|
|
7
|
+
method: event.method as unknown as ICalCalendarMethod,
|
|
8
|
+
events: [
|
|
9
|
+
{
|
|
10
|
+
id: event.id,
|
|
11
|
+
start: event.start,
|
|
12
|
+
end: event.end,
|
|
13
|
+
allDay: event.allDay,
|
|
14
|
+
summary: event.name,
|
|
15
|
+
description: event.description,
|
|
16
|
+
url: event.url,
|
|
17
|
+
location: event.location
|
|
18
|
+
? {
|
|
19
|
+
title: event.location.name,
|
|
20
|
+
address: event.location.address,
|
|
21
|
+
geo: event.location.geo
|
|
22
|
+
? {
|
|
23
|
+
lat: event.location.geo.latitude,
|
|
24
|
+
lon: event.location.geo.longitude,
|
|
25
|
+
}
|
|
26
|
+
: undefined,
|
|
27
|
+
}
|
|
28
|
+
: undefined,
|
|
29
|
+
attachments: event.attachments,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
return calendar.toString()
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export {
|
|
38
|
+
getIcalendar,
|
|
39
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateAddressEmail = void 0;
|
|
4
|
+
const isValidEmail_1 = require("utils/isValidEmail");
|
|
5
|
+
const MailerAddressEmailError_1 = require("./errors/MailerAddressEmailError");
|
|
6
|
+
const validateAddressEmail = (email) => {
|
|
7
|
+
if (!(0, isValidEmail_1.isValidEmail)(email)) {
|
|
8
|
+
throw new MailerAddressEmailError_1.MailerAddressEmailError(email);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
exports.validateAddressEmail = validateAddressEmail;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { isValidEmail } from 'utils/isValidEmail'
|
|
2
|
+
import { MailerAddressEmailError } from './errors/MailerAddressEmailError'
|
|
3
|
+
|
|
4
|
+
const validateAddressEmail = (email: string): void => {
|
|
5
|
+
if (!isValidEmail(email)) {
|
|
6
|
+
throw new MailerAddressEmailError(email)
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export {
|
|
11
|
+
validateAddressEmail,
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateEventAttachmentUrl = void 0;
|
|
4
|
+
const isValidUrl_1 = require("utils/isValidUrl");
|
|
5
|
+
const MailerEventAttachmentUrlError_1 = require("./errors/MailerEventAttachmentUrlError");
|
|
6
|
+
const validateEventAttachmentUrl = (url) => {
|
|
7
|
+
if (!(0, isValidUrl_1.isValidUrl)(url)) {
|
|
8
|
+
throw new MailerEventAttachmentUrlError_1.MailerEventAttachmentUrlError(url);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
exports.validateEventAttachmentUrl = validateEventAttachmentUrl;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { isValidUrl } from 'utils/isValidUrl'
|
|
2
|
+
import { MailerEventAttachmentUrlError } from './errors/MailerEventAttachmentUrlError'
|
|
3
|
+
|
|
4
|
+
const validateEventAttachmentUrl = (url: string): void => {
|
|
5
|
+
if (!isValidUrl(url)) {
|
|
6
|
+
throw new MailerEventAttachmentUrlError(url)
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export {
|
|
11
|
+
validateEventAttachmentUrl,
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateEventGeolocation = void 0;
|
|
4
|
+
const isValidGeolocation_1 = require("utils/isValidGeolocation");
|
|
5
|
+
const MailerEventGeolocationError_1 = require("./errors/MailerEventGeolocationError");
|
|
6
|
+
const validateEventGeolocation = (latitude, longitude) => {
|
|
7
|
+
if (!(0, isValidGeolocation_1.isValidGeolocation)(latitude, longitude)) {
|
|
8
|
+
throw new MailerEventGeolocationError_1.MailerEventGeolocationError(latitude, longitude);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
exports.validateEventGeolocation = validateEventGeolocation;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { isValidGeolocation } from 'utils/isValidGeolocation'
|
|
2
|
+
import { MailerEventGeolocationError } from './errors/MailerEventGeolocationError'
|
|
3
|
+
|
|
4
|
+
const validateEventGeolocation = (
|
|
5
|
+
latitude: number,
|
|
6
|
+
longitude: number,
|
|
7
|
+
): void => {
|
|
8
|
+
if (!isValidGeolocation(latitude, longitude)) {
|
|
9
|
+
throw new MailerEventGeolocationError(latitude, longitude)
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
validateEventGeolocation,
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateEventUrl = void 0;
|
|
4
|
+
const isValidUrl_1 = require("utils/isValidUrl");
|
|
5
|
+
const MailerEventUrlError_1 = require("./errors/MailerEventUrlError");
|
|
6
|
+
const validateEventUrl = (url) => {
|
|
7
|
+
if (!(0, isValidUrl_1.isValidUrl)(url)) {
|
|
8
|
+
throw new MailerEventUrlError_1.MailerEventUrlError(url);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
exports.validateEventUrl = validateEventUrl;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { isValidUrl } from 'utils/isValidUrl'
|
|
2
|
+
import { MailerEventUrlError } from './errors/MailerEventUrlError'
|
|
3
|
+
|
|
4
|
+
const validateEventUrl = (url: string): void => {
|
|
5
|
+
if (!isValidUrl(url)) {
|
|
6
|
+
throw new MailerEventUrlError(url)
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export {
|
|
11
|
+
validateEventUrl,
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateListUrl = void 0;
|
|
4
|
+
const isValidUrl_1 = require("utils/isValidUrl");
|
|
5
|
+
const MailerListUrlError_1 = require("./errors/MailerListUrlError");
|
|
6
|
+
const validateListUrl = (property, url) => {
|
|
7
|
+
if (!(0, isValidUrl_1.isValidUrl)(url)) {
|
|
8
|
+
throw new MailerListUrlError_1.MailerListUrlError(property, url);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
exports.validateListUrl = validateListUrl;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { isValidUrl } from 'utils/isValidUrl'
|
|
2
|
+
import { MailerListUrlError } from './errors/MailerListUrlError'
|
|
3
|
+
|
|
4
|
+
const validateListUrl = (property: string, url: string): void => {
|
|
5
|
+
if (!isValidUrl(url)) {
|
|
6
|
+
throw new MailerListUrlError(property, url)
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export {
|
|
11
|
+
validateListUrl,
|
|
12
|
+
}
|
package/package.json
CHANGED
|
@@ -1,53 +1,51 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apeframework",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Matthieu Symoens",
|
|
6
|
-
"description": "Node.js
|
|
6
|
+
"description": "Node.js app framework",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"ape",
|
|
9
|
-
"framework"
|
|
9
|
+
"framework",
|
|
10
|
+
"nodejs"
|
|
10
11
|
],
|
|
11
12
|
"repository": {
|
|
12
13
|
"type": "git",
|
|
13
|
-
"url": "git+https://github.com/
|
|
14
|
+
"url": "git+https://github.com/ApeFramework/apeframework.git"
|
|
14
15
|
},
|
|
15
16
|
"publishConfig": {
|
|
16
17
|
"access": "public"
|
|
17
18
|
},
|
|
18
19
|
"main": "index.js",
|
|
19
20
|
"types": "index.d.ts",
|
|
20
|
-
"bin": {
|
|
21
|
-
"ape-cli": "bin/ape-cli.js",
|
|
22
|
-
"ape-cli-ts": "bin/ape-cli-ts.js"
|
|
23
|
-
},
|
|
24
21
|
"engines": {
|
|
25
|
-
"node": "^
|
|
22
|
+
"node": "^22"
|
|
26
23
|
},
|
|
27
24
|
"dependencies": {
|
|
28
|
-
"@fastify/cors": "^
|
|
29
|
-
"@fastify/response-validation": "^2.
|
|
30
|
-
"@fastify/swagger": "^8.
|
|
25
|
+
"@fastify/cors": "^9.0",
|
|
26
|
+
"@fastify/response-validation": "^2.6",
|
|
27
|
+
"@fastify/swagger": "^8.15",
|
|
31
28
|
"bcrypt": "^5.1",
|
|
32
|
-
"bullmq": "^
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"mailgen": "^2.0",
|
|
42
|
-
"mysql2": "^3.6",
|
|
29
|
+
"bullmq": "^5.12",
|
|
30
|
+
"dotenv": "^16.4",
|
|
31
|
+
"fastify": "^4.28",
|
|
32
|
+
"fs-extra": "^11.2",
|
|
33
|
+
"ical-generator": "^8.0",
|
|
34
|
+
"ioredis": "^5.4",
|
|
35
|
+
"jose": "^5.8",
|
|
36
|
+
"knex": "^3.1",
|
|
37
|
+
"mysql2": "^3.11",
|
|
43
38
|
"nodemailer": "^6.9",
|
|
44
39
|
"openapi-types": "^12.1",
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"pino": "^
|
|
48
|
-
"pino-pretty": "^10.2",
|
|
49
|
-
"sonic-boom": "^3.3",
|
|
40
|
+
"pg": "^8.12",
|
|
41
|
+
"pino": "^9.4",
|
|
42
|
+
"pino-pretty": "^11.2",
|
|
50
43
|
"sqlite3": "^5.1",
|
|
51
44
|
"yargs-parser": "^21.1"
|
|
45
|
+
},
|
|
46
|
+
"peerDependencies": {
|
|
47
|
+
"@types/node": "^22.5",
|
|
48
|
+
"ts-node": "^10.9",
|
|
49
|
+
"typescript": "^5.5"
|
|
52
50
|
}
|
|
53
51
|
}
|
package/parser/Parser.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParserInputError = void 0;
|
|
4
|
+
const BaseError_1 = require("../../error/BaseError");
|
|
5
|
+
class ParserInputError extends BaseError_1.BaseError {
|
|
6
|
+
constructor(type) {
|
|
7
|
+
super(`failed parsing ${type}: invalid input`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.ParserInputError = ParserInputError;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createUnitParser = void 0;
|
|
4
|
+
const ParserInputError_1 = require("../../errors/ParserInputError");
|
|
5
|
+
const parseNumber_1 = require("../../parseNumber");
|
|
6
|
+
const parseString_1 = require("../../parseString");
|
|
7
|
+
const createUnitParser = (params) => {
|
|
8
|
+
return (input) => {
|
|
9
|
+
let string;
|
|
10
|
+
try {
|
|
11
|
+
string = (0, parseString_1.parseString)(input);
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
throw new ParserInputError_1.ParserInputError(params.type);
|
|
15
|
+
}
|
|
16
|
+
const units = [];
|
|
17
|
+
params.units.forEach((u) => {
|
|
18
|
+
units.push(u, { ...u, symbol: ` ${u.symbol}` });
|
|
19
|
+
});
|
|
20
|
+
units.sort((a, b) => {
|
|
21
|
+
return b.symbol.length - a.symbol.length;
|
|
22
|
+
});
|
|
23
|
+
const unit = units.find((u) => {
|
|
24
|
+
return string.toUpperCase().endsWith(u.symbol.toUpperCase());
|
|
25
|
+
});
|
|
26
|
+
let number;
|
|
27
|
+
try {
|
|
28
|
+
number = (0, parseNumber_1.parseNumber)(string.substring(0, string.length - (unit?.symbol.length ?? 0)));
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
throw new ParserInputError_1.ParserInputError(params.type);
|
|
32
|
+
}
|
|
33
|
+
return number * (unit?.value ?? 1);
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
exports.createUnitParser = createUnitParser;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ParserInputError } from '../../errors/ParserInputError'
|
|
2
|
+
import { parseNumber } from '../../parseNumber'
|
|
3
|
+
import { parseString } from '../../parseString'
|
|
4
|
+
import type { Unit } from './Unit'
|
|
5
|
+
import type { Parser } from '../../Parser'
|
|
6
|
+
|
|
7
|
+
const createUnitParser = (params: {
|
|
8
|
+
type: string,
|
|
9
|
+
units: Unit[],
|
|
10
|
+
}): Parser<number> => {
|
|
11
|
+
return (input) => {
|
|
12
|
+
let string: string
|
|
13
|
+
|
|
14
|
+
try {
|
|
15
|
+
string = parseString(input)
|
|
16
|
+
} catch (error) {
|
|
17
|
+
throw new ParserInputError(params.type)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const units: Unit[] = []
|
|
21
|
+
|
|
22
|
+
params.units.forEach((u) => {
|
|
23
|
+
units.push(u, { ...u, symbol: ` ${u.symbol}` })
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
units.sort((a, b) => {
|
|
27
|
+
return b.symbol.length - a.symbol.length
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
const unit = units.find((u) => {
|
|
31
|
+
return string.toUpperCase().endsWith(u.symbol.toUpperCase())
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
let number: number
|
|
35
|
+
|
|
36
|
+
try {
|
|
37
|
+
number = parseNumber(
|
|
38
|
+
string.substring(0, string.length - (unit?.symbol.length ?? 0)),
|
|
39
|
+
)
|
|
40
|
+
} catch (error) {
|
|
41
|
+
throw new ParserInputError(params.type)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return number * (unit?.value ?? 1)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export {
|
|
49
|
+
createUnitParser,
|
|
50
|
+
}
|