sonamu 0.8.26 → 0.9.0
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/bin/cli.js +60 -13
- package/dist/_virtual/rolldown_runtime.js +39 -0
- package/dist/ai/agents/agent.d.ts +3 -3
- package/dist/ai/agents/agent.d.ts.map +1 -1
- package/dist/ai/agents/agent.js +76 -73
- package/dist/ai/agents/index.js +3 -3
- package/dist/ai/agents/types.d.ts +3 -3
- package/dist/ai/agents/types.d.ts.map +1 -1
- package/dist/ai/agents/types.js +1 -3
- package/dist/ai/index.js +3 -2
- package/dist/ai/providers/rtzr/api.js +25 -25
- package/dist/ai/providers/rtzr/error.js +25 -26
- package/dist/ai/providers/rtzr/index.js +5 -5
- package/dist/ai/providers/rtzr/model.d.ts +1 -1
- package/dist/ai/providers/rtzr/model.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/model.js +117 -133
- package/dist/ai/providers/rtzr/options.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/options.js +35 -41
- package/dist/ai/providers/rtzr/provider.d.ts +1 -1
- package/dist/ai/providers/rtzr/provider.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/provider.js +53 -51
- package/dist/ai/providers/rtzr/utils.d.ts.map +1 -1
- package/dist/ai/providers/rtzr/utils.js +84 -84
- package/dist/api/base-frame.d.ts +2 -2
- package/dist/api/base-frame.d.ts.map +1 -1
- package/dist/api/base-frame.js +29 -19
- package/dist/api/caster.d.ts +1 -1
- package/dist/api/caster.d.ts.map +1 -1
- package/dist/api/caster.js +51 -61
- package/dist/api/code-converters.d.ts +4 -3
- package/dist/api/code-converters.d.ts.map +1 -1
- package/dist/api/code-converters.js +226 -249
- package/dist/api/config.d.ts +17 -17
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +37 -30
- package/dist/api/context.d.ts +10 -10
- package/dist/api/context.d.ts.map +1 -1
- package/dist/api/context.js +8 -2
- package/dist/api/decorators.d.ts +8 -8
- package/dist/api/decorators.d.ts.map +1 -1
- package/dist/api/decorators.js +245 -268
- package/dist/api/index.js +39 -7
- package/dist/api/secret.js +22 -15
- package/dist/api/sonamu.d.ts +15 -15
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +1012 -1131
- package/dist/api/validator.js +88 -79
- package/dist/auth/auth-generator.d.ts.map +1 -1
- package/dist/auth/auth-generator.js +203 -200
- package/dist/auth/better-auth-entities.d.ts +2 -2
- package/dist/auth/better-auth-entities.d.ts.map +1 -1
- package/dist/auth/better-auth-entities.js +369 -429
- package/dist/auth/index.js +21 -6
- package/dist/auth/knex-adapter.d.ts +2 -2
- package/dist/auth/knex-adapter.d.ts.map +1 -1
- package/dist/auth/knex-adapter.js +153 -157
- package/dist/auth/plugins/entity-definitions/admin.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/admin.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/admin.js +58 -56
- package/dist/auth/plugins/entity-definitions/anonymous.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/anonymous.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/anonymous.js +20 -20
- package/dist/auth/plugins/entity-definitions/api-key.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/api-key.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/api-key.js +185 -196
- package/dist/auth/plugins/entity-definitions/index.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/index.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/index.js +26 -29
- package/dist/auth/plugins/entity-definitions/jwt.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/jwt.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/jwt.js +62 -64
- package/dist/auth/plugins/entity-definitions/organization.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/organization.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/organization.js +362 -421
- package/dist/auth/plugins/entity-definitions/passkey.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/passkey.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/passkey.js +115 -126
- package/dist/auth/plugins/entity-definitions/phone-number.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/phone-number.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/phone-number.js +31 -40
- package/dist/auth/plugins/entity-definitions/sso.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/sso.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/sso.js +94 -107
- package/dist/auth/plugins/entity-definitions/two-factor.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/two-factor.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/two-factor.js +78 -92
- package/dist/auth/plugins/entity-definitions/types.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/types.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/types.js +1 -10
- package/dist/auth/plugins/entity-definitions/username.d.ts +1 -1
- package/dist/auth/plugins/entity-definitions/username.d.ts.map +1 -1
- package/dist/auth/plugins/entity-definitions/username.js +31 -40
- package/dist/auth/plugins/index.js +12 -3
- package/dist/auth/plugins/wrappers/admin.d.ts +2 -2
- package/dist/auth/plugins/wrappers/admin.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/admin.js +28 -29
- package/dist/auth/plugins/wrappers/anonymous.d.ts +2 -1
- package/dist/auth/plugins/wrappers/anonymous.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/anonymous.js +23 -22
- package/dist/auth/plugins/wrappers/api-key.d.ts +2 -1
- package/dist/auth/plugins/wrappers/api-key.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/api-key.js +39 -34
- package/dist/auth/plugins/wrappers/index.js +11 -11
- package/dist/auth/plugins/wrappers/jwt.d.ts +2 -1
- package/dist/auth/plugins/wrappers/jwt.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/jwt.js +31 -26
- package/dist/auth/plugins/wrappers/organization.d.ts +2 -1
- package/dist/auth/plugins/wrappers/organization.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/organization.js +65 -62
- package/dist/auth/plugins/wrappers/passkey.d.ts +2 -1
- package/dist/auth/plugins/wrappers/passkey.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/passkey.js +33 -28
- package/dist/auth/plugins/wrappers/phone-number.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/phone-number.js +26 -23
- package/dist/auth/plugins/wrappers/sso.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/sso.js +37 -31
- package/dist/auth/plugins/wrappers/two-factor.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/two-factor.js +31 -28
- package/dist/auth/plugins/wrappers/username.d.ts.map +1 -1
- package/dist/auth/plugins/wrappers/username.js +23 -23
- package/dist/bin/build-config.js +31 -31
- package/dist/bin/cli.js +1063 -1204
- package/dist/bin/fixture.d.ts.map +1 -1
- package/dist/bin/fixture.js +266 -259
- package/dist/bin/hmr-hook-register.d.ts.map +1 -1
- package/dist/bin/hmr-hook-register.js +19 -18
- package/dist/bin/test-command.d.ts.map +1 -1
- package/dist/bin/test-command.js +180 -177
- package/dist/bin/ts-loader-register.js +13 -6
- package/dist/bin/ts-loader-registration.d.ts.map +1 -1
- package/dist/bin/ts-loader-registration.js +28 -38
- package/dist/cache/cache-manager.d.ts +1 -1
- package/dist/cache/cache-manager.d.ts.map +1 -1
- package/dist/cache/cache-manager.js +20 -15
- package/dist/cache/decorator.d.ts +1 -1
- package/dist/cache/decorator.d.ts.map +1 -1
- package/dist/cache/decorator.js +84 -76
- package/dist/cache/drivers.js +21 -34
- package/dist/cache/index.js +10 -7
- package/dist/cache/types.d.ts +2 -2
- package/dist/cache/types.d.ts.map +1 -1
- package/dist/cache/types.js +1 -6
- package/dist/cache-control/cache-control.d.ts +2 -2
- package/dist/cache-control/cache-control.d.ts.map +1 -1
- package/dist/cache-control/cache-control.js +106 -122
- package/dist/cache-control/types.d.ts +2 -2
- package/dist/cache-control/types.d.ts.map +1 -1
- package/dist/cache-control/types.js +1 -19
- package/dist/compress/compress.d.ts +1 -1
- package/dist/compress/compress.d.ts.map +1 -1
- package/dist/compress/compress.js +58 -56
- package/dist/compress/index.js +7 -2
- package/dist/compress/types.js +1 -11
- package/dist/cone/cone-generator.d.ts +1 -1
- package/dist/cone/cone-generator.d.ts.map +1 -1
- package/dist/cone/cone-generator.js +216 -219
- package/dist/database/_batch_update.d.ts +1 -1
- package/dist/database/_batch_update.d.ts.map +1 -1
- package/dist/database/_batch_update.js +107 -102
- package/dist/database/base-model.d.ts +8 -9
- package/dist/database/base-model.d.ts.map +1 -1
- package/dist/database/base-model.js +371 -392
- package/dist/database/base-model.types.d.ts +5 -5
- package/dist/database/base-model.types.d.ts.map +1 -1
- package/dist/database/base-model.types.js +1 -20
- package/dist/database/db.d.ts +5 -2
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +185 -171
- package/dist/database/knex.d.ts +1 -1
- package/dist/database/knex.d.ts.map +1 -1
- package/dist/database/knex.js +48 -42
- package/dist/database/puri-subset.types.d.ts +6 -7
- package/dist/database/puri-subset.types.d.ts.map +1 -1
- package/dist/database/puri-subset.types.js +1 -16
- package/dist/database/puri-wrapper.d.ts +6 -6
- package/dist/database/puri-wrapper.d.ts.map +1 -1
- package/dist/database/puri-wrapper.js +99 -101
- package/dist/database/puri.d.ts +4 -5
- package/dist/database/puri.d.ts.map +1 -1
- package/dist/database/puri.js +1021 -1227
- package/dist/database/puri.types.d.ts +6 -6
- package/dist/database/puri.types.d.ts.map +1 -1
- package/dist/database/puri.types.js +15 -6
- package/dist/database/transaction-context.d.ts +2 -2
- package/dist/database/transaction-context.d.ts.map +1 -1
- package/dist/database/transaction-context.js +22 -13
- package/dist/database/upsert-builder.d.ts +3 -3
- package/dist/database/upsert-builder.d.ts.map +1 -1
- package/dist/database/upsert-builder.js +405 -465
- package/dist/dict/en.js +72 -74
- package/dist/dict/index.js +13 -13
- package/dist/dict/ko.js +72 -74
- package/dist/dict/rc-keys.js +150 -168
- package/dist/dict/sd.d.ts +3 -1
- package/dist/dict/sd.d.ts.map +1 -1
- package/dist/dict/sd.js +54 -40
- package/dist/dict/sonamu-dictionary.d.ts +1 -1
- package/dist/dict/sonamu-dictionary.d.ts.map +1 -1
- package/dist/dict/sonamu-dictionary.js +887 -955
- package/dist/dict/types.js +1 -7
- package/dist/dict/utils.js +26 -24
- package/dist/entity/entity-manager.d.ts +9 -9
- package/dist/entity/entity-manager.d.ts.map +1 -1
- package/dist/entity/entity-manager.js +226 -223
- package/dist/entity/entity-template-cone.d.ts +1 -1
- package/dist/entity/entity-template-cone.d.ts.map +1 -1
- package/dist/entity/entity-template-cone.js +152 -151
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +952 -1089
- package/dist/exceptions/error-handler.d.ts +1 -1
- package/dist/exceptions/error-handler.d.ts.map +1 -1
- package/dist/exceptions/error-handler.js +32 -27
- package/dist/exceptions/so-exceptions.d.ts +1 -1
- package/dist/exceptions/so-exceptions.d.ts.map +1 -1
- package/dist/exceptions/so-exceptions.js +61 -68
- package/dist/filter/index.js +9 -3
- package/dist/filter/types.js +92 -88
- package/dist/filter/utils.d.ts +1 -1
- package/dist/filter/utils.d.ts.map +1 -1
- package/dist/filter/utils.js +147 -161
- package/dist/index.js +87 -40
- package/dist/logger/category.d.ts.map +1 -1
- package/dist/logger/category.js +30 -29
- package/dist/logger/configure.d.ts.map +1 -1
- package/dist/logger/configure.js +83 -107
- package/dist/migration/code-generation.d.ts +2 -2
- package/dist/migration/code-generation.d.ts.map +1 -1
- package/dist/migration/code-generation.js +1385 -1578
- package/dist/migration/migration-set.d.ts +1 -1
- package/dist/migration/migration-set.d.ts.map +1 -1
- package/dist/migration/migration-set.js +177 -227
- package/dist/migration/migrator.d.ts +4 -3
- package/dist/migration/migrator.d.ts.map +1 -1
- package/dist/migration/migrator.js +340 -345
- package/dist/migration/postgresql-schema-reader.d.ts +2 -2
- package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
- package/dist/migration/postgresql-schema-reader.js +506 -564
- package/dist/migration/slack-confirm.d.ts +2 -2
- package/dist/migration/slack-confirm.d.ts.map +1 -1
- package/dist/migration/slack-confirm.js +205 -193
- package/dist/migration/types.d.ts +2 -2
- package/dist/migration/types.d.ts.map +1 -1
- package/dist/migration/types.js +1 -3
- package/dist/naite/messaging-types.d.ts +1 -0
- package/dist/naite/messaging-types.d.ts.map +1 -1
- package/dist/naite/messaging-types.js +1 -7
- package/dist/naite/naite-reporter.d.ts +2 -2
- package/dist/naite/naite-reporter.d.ts.map +1 -1
- package/dist/naite/naite-reporter.js +127 -120
- package/dist/naite/naite.d.ts +3 -2
- package/dist/naite/naite.d.ts.map +1 -1
- package/dist/naite/naite.js +266 -300
- package/dist/ssr/index.d.ts +2 -2
- package/dist/ssr/index.d.ts.map +1 -1
- package/dist/ssr/index.js +13 -3
- package/dist/ssr/registry.d.ts +1 -1
- package/dist/ssr/registry.d.ts.map +1 -1
- package/dist/ssr/registry.js +45 -37
- package/dist/ssr/renderer.d.ts +4 -4
- package/dist/ssr/renderer.d.ts.map +1 -1
- package/dist/ssr/renderer.js +84 -91
- package/dist/ssr/types.d.ts +2 -2
- package/dist/ssr/types.d.ts.map +1 -1
- package/dist/ssr/types.js +1 -3
- package/dist/storage/base-file.js +54 -41
- package/dist/storage/buffered-file.d.ts +2 -2
- package/dist/storage/buffered-file.d.ts.map +1 -1
- package/dist/storage/buffered-file.js +51 -44
- package/dist/storage/drivers.d.ts +2 -2
- package/dist/storage/drivers.d.ts.map +1 -1
- package/dist/storage/drivers.js +12 -7
- package/dist/storage/index.js +14 -7
- package/dist/storage/s3-driver.d.ts +2 -2
- package/dist/storage/s3-driver.d.ts.map +1 -1
- package/dist/storage/s3-driver.js +52 -48
- package/dist/storage/storage-manager.d.ts +2 -2
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +33 -25
- package/dist/storage/types.d.ts +2 -2
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/types.js +1 -5
- package/dist/storage/uploaded-file.d.ts +1 -1
- package/dist/storage/uploaded-file.d.ts.map +1 -1
- package/dist/storage/uploaded-file.js +45 -35
- package/dist/stream/index.js +7 -2
- package/dist/stream/sse.d.ts +2 -2
- package/dist/stream/sse.d.ts.map +1 -1
- package/dist/stream/sse.js +72 -67
- package/dist/syncer/api-parser.d.ts +1 -1
- package/dist/syncer/api-parser.d.ts.map +1 -1
- package/dist/syncer/api-parser.js +224 -245
- package/dist/syncer/checksum.d.ts +1 -1
- package/dist/syncer/checksum.d.ts.map +1 -1
- package/dist/syncer/checksum.js +86 -72
- package/dist/syncer/code-generator.d.ts +2 -2
- package/dist/syncer/code-generator.d.ts.map +1 -1
- package/dist/syncer/code-generator.js +154 -160
- package/dist/syncer/entity-operations.d.ts +1 -1
- package/dist/syncer/entity-operations.d.ts.map +1 -1
- package/dist/syncer/entity-operations.js +63 -54
- package/dist/syncer/file-patterns.d.ts +1 -1
- package/dist/syncer/file-patterns.d.ts.map +1 -1
- package/dist/syncer/file-patterns.js +38 -38
- package/dist/syncer/index.js +19 -8
- package/dist/syncer/module-loader.d.ts +5 -5
- package/dist/syncer/module-loader.d.ts.map +1 -1
- package/dist/syncer/module-loader.js +83 -78
- package/dist/syncer/syncer-actions.d.ts +2 -2
- package/dist/syncer/syncer-actions.d.ts.map +1 -1
- package/dist/syncer/syncer-actions.js +76 -91
- package/dist/syncer/syncer.d.ts +7 -6
- package/dist/syncer/syncer.d.ts.map +1 -1
- package/dist/syncer/syncer.js +426 -492
- package/dist/tasks/decorator.d.ts +3 -3
- package/dist/tasks/decorator.d.ts.map +1 -1
- package/dist/tasks/decorator.js +32 -28
- package/dist/tasks/step-wrapper.d.ts +1 -1
- package/dist/tasks/step-wrapper.d.ts.map +1 -1
- package/dist/tasks/step-wrapper.js +42 -41
- package/dist/tasks/workflow-manager.d.ts +2 -2
- package/dist/tasks/workflow-manager.d.ts.map +1 -1
- package/dist/tasks/workflow-manager.js +192 -221
- package/dist/template/entity-converter.d.ts +1 -1
- package/dist/template/entity-converter.d.ts.map +1 -1
- package/dist/template/entity-converter.js +103 -103
- package/dist/template/helpers.d.ts.map +1 -1
- package/dist/template/helpers.js +163 -163
- package/dist/template/implementations/entity.template.d.ts +1 -1
- package/dist/template/implementations/entity.template.d.ts.map +1 -1
- package/dist/template/implementations/entity.template.js +76 -85
- package/dist/template/implementations/entry-server.template.d.ts +1 -1
- package/dist/template/implementations/entry-server.template.d.ts.map +1 -1
- package/dist/template/implementations/entry-server.template.js +32 -27
- package/dist/template/implementations/generated.template.d.ts +1 -1
- package/dist/template/implementations/generated.template.d.ts.map +1 -1
- package/dist/template/implementations/generated.template.js +254 -275
- package/dist/template/implementations/generated_http.template.d.ts +2 -2
- package/dist/template/implementations/generated_http.template.d.ts.map +1 -1
- package/dist/template/implementations/generated_http.template.js +114 -133
- package/dist/template/implementations/generated_sso.template.d.ts.map +1 -1
- package/dist/template/implementations/generated_sso.template.js +249 -275
- package/dist/template/implementations/init_types.template.d.ts +1 -1
- package/dist/template/implementations/init_types.template.d.ts.map +1 -1
- package/dist/template/implementations/init_types.template.js +40 -34
- package/dist/template/implementations/model.template.d.ts +1 -1
- package/dist/template/implementations/model.template.d.ts.map +1 -1
- package/dist/template/implementations/model.template.js +56 -53
- package/dist/template/implementations/model_test.template.d.ts +1 -1
- package/dist/template/implementations/model_test.template.d.ts.map +1 -1
- package/dist/template/implementations/model_test.template.js +32 -24
- package/dist/template/implementations/queries.template.d.ts +1 -1
- package/dist/template/implementations/queries.template.d.ts.map +1 -1
- package/dist/template/implementations/queries.template.js +84 -89
- package/dist/template/implementations/sd.template.d.ts +1 -1
- package/dist/template/implementations/sd.template.d.ts.map +1 -1
- package/dist/template/implementations/sd.template.js +137 -144
- package/dist/template/implementations/services.template.d.ts +1 -1
- package/dist/template/implementations/services.template.d.ts.map +1 -1
- package/dist/template/implementations/services.template.js +164 -189
- package/dist/template/implementations/view_form.template.d.ts +1 -1
- package/dist/template/implementations/view_form.template.d.ts.map +1 -1
- package/dist/template/implementations/view_form.template.js +258 -285
- package/dist/template/implementations/view_id_all_select.template.d.ts +1 -1
- package/dist/template/implementations/view_id_all_select.template.d.ts.map +1 -1
- package/dist/template/implementations/view_id_all_select.template.js +31 -25
- package/dist/template/implementations/view_list.template.d.ts +1 -1
- package/dist/template/implementations/view_list.template.d.ts.map +1 -1
- package/dist/template/implementations/view_list.template.js +304 -355
- package/dist/template/implementations/view_search_input.template.d.ts +1 -1
- package/dist/template/implementations/view_search_input.template.d.ts.map +1 -1
- package/dist/template/implementations/view_search_input.template.js +31 -27
- package/dist/template/index.js +21 -7
- package/dist/template/template-manager.d.ts +1 -1
- package/dist/template/template-manager.d.ts.map +1 -1
- package/dist/template/template-manager.js +132 -123
- package/dist/template/template-types.js +8 -6
- package/dist/template/template.d.ts +2 -2
- package/dist/template/template.d.ts.map +1 -1
- package/dist/template/template.js +73 -68
- package/dist/template/zod-converter.d.ts.map +1 -1
- package/dist/template/zod-converter.js +603 -657
- package/dist/testing/_relation-graph.d.ts +1 -1
- package/dist/testing/_relation-graph.d.ts.map +1 -1
- package/dist/testing/_relation-graph.js +93 -88
- package/dist/testing/bootstrap.d.ts +22 -13
- package/dist/testing/bootstrap.d.ts.map +1 -1
- package/dist/testing/bootstrap.js +114 -114
- package/dist/testing/data-explorer.d.ts +3 -3
- package/dist/testing/data-explorer.d.ts.map +1 -1
- package/dist/testing/data-explorer.js +237 -265
- package/dist/testing/dev-test-routes.d.ts +2 -2
- package/dist/testing/dev-test-routes.d.ts.map +1 -1
- package/dist/testing/dev-test-routes.js +258 -249
- package/dist/testing/dev-vitest-manager.d.ts +1 -1
- package/dist/testing/dev-vitest-manager.d.ts.map +1 -1
- package/dist/testing/dev-vitest-manager.js +514 -539
- package/dist/testing/faker-mappings.js +422 -420
- package/dist/testing/fixture-generator.d.ts +3 -3
- package/dist/testing/fixture-generator.d.ts.map +1 -1
- package/dist/testing/fixture-generator.js +1216 -1346
- package/dist/testing/fixture-loader.js +26 -25
- package/dist/testing/fixture-manager.d.ts +3 -3
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +706 -776
- package/dist/testing/global-setup.js +53 -49
- package/dist/testing/index.js +19 -11
- package/dist/testing/naite-vitest-reporter.js +18 -13
- package/dist/testing/parallel-db-manager.d.ts +1 -1
- package/dist/testing/parallel-db-manager.d.ts.map +1 -1
- package/dist/testing/parallel-db-manager.js +63 -78
- package/dist/testing/vitest-helpers.d.ts +1 -1
- package/dist/testing/vitest-helpers.d.ts.map +1 -1
- package/dist/testing/vitest-helpers.js +37 -33
- package/dist/types/types.d.ts +28 -28
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +764 -890
- package/dist/ui/ai-api.d.ts +1 -1
- package/dist/ui/ai-api.d.ts.map +1 -1
- package/dist/ui/ai-api.js +52 -42
- package/dist/ui/ai-client.d.ts +1 -2
- package/dist/ui/ai-client.d.ts.map +1 -1
- package/dist/ui/ai-client.js +353 -388
- package/dist/ui/api.d.ts +1 -1
- package/dist/ui/api.d.ts.map +1 -1
- package/dist/ui/api.js +903 -1145
- package/dist/ui/cdd-service.d.ts +1 -1
- package/dist/ui/cdd-service.d.ts.map +1 -1
- package/dist/ui/cdd-service.js +406 -407
- package/dist/ui/cdd-types.js +1 -3
- package/dist/ui-web/assets/index-C-Zz-wYg.css +1 -0
- package/dist/ui-web/assets/index-DejDON8K.js +238 -0
- package/dist/ui-web/index.html +3 -3
- package/dist/utils/async-utils.js +57 -45
- package/dist/utils/console-util.d.ts.map +1 -1
- package/dist/utils/console-util.js +104 -87
- package/dist/utils/controller.js +26 -19
- package/dist/utils/esm-utils.js +49 -38
- package/dist/utils/formatter.d.ts +1 -2
- package/dist/utils/formatter.d.ts.map +1 -1
- package/dist/utils/formatter.js +89 -115
- package/dist/utils/fs-utils.d.ts.map +1 -1
- package/dist/utils/fs-utils.js +68 -65
- package/dist/utils/lodash-able.js +11 -4
- package/dist/utils/model.d.ts +1 -1
- package/dist/utils/model.d.ts.map +1 -1
- package/dist/utils/model.js +21 -19
- package/dist/utils/object-utils.js +148 -186
- package/dist/utils/path-utils.js +67 -57
- package/dist/utils/process-utils.d.ts.map +1 -1
- package/dist/utils/process-utils.js +37 -31
- package/dist/utils/sql-parser.d.ts +1 -1
- package/dist/utils/sql-parser.d.ts.map +1 -1
- package/dist/utils/sql-parser.js +40 -40
- package/dist/utils/type-utils.js +44 -43
- package/dist/utils/utils.d.ts +2 -3
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +81 -93
- package/dist/utils/zod-error.d.ts +1 -1
- package/dist/utils/zod-error.d.ts.map +1 -1
- package/dist/utils/zod-error.js +24 -17
- package/dist/vector/chunking.d.ts +1 -1
- package/dist/vector/chunking.d.ts.map +1 -1
- package/dist/vector/chunking.js +100 -94
- package/dist/vector/config.d.ts +1 -1
- package/dist/vector/config.d.ts.map +1 -1
- package/dist/vector/config.js +76 -78
- package/dist/vector/embedding.d.ts +1 -1
- package/dist/vector/embedding.d.ts.map +1 -1
- package/dist/vector/embedding.js +128 -125
- package/dist/vector/index.js +5 -5
- package/dist/vector/types.js +1 -5
- package/package.json +31 -36
- package/src/ai/agents/agent.ts +12 -5
- package/src/ai/agents/types.ts +5 -5
- package/src/ai/providers/rtzr/model.ts +8 -10
- package/src/ai/providers/rtzr/options.ts +2 -1
- package/src/ai/providers/rtzr/provider.ts +5 -3
- package/src/ai/providers/rtzr/utils.ts +2 -7
- package/src/api/__tests__/config.test.ts +15 -8
- package/src/api/base-frame.ts +5 -3
- package/src/api/caster.ts +7 -6
- package/src/api/code-converters.ts +23 -26
- package/src/api/config.ts +23 -17
- package/src/api/context.ts +18 -11
- package/src/api/decorators.ts +17 -18
- package/src/api/sonamu.ts +44 -49
- package/src/auth/auth-generator.ts +4 -6
- package/src/auth/better-auth-entities.ts +3 -2
- package/src/auth/knex-adapter.ts +6 -5
- package/src/auth/plugins/entity-definitions/admin.ts +1 -1
- package/src/auth/plugins/entity-definitions/anonymous.ts +1 -1
- package/src/auth/plugins/entity-definitions/api-key.ts +1 -1
- package/src/auth/plugins/entity-definitions/index.ts +1 -1
- package/src/auth/plugins/entity-definitions/jwt.ts +1 -1
- package/src/auth/plugins/entity-definitions/organization.ts +1 -1
- package/src/auth/plugins/entity-definitions/passkey.ts +1 -1
- package/src/auth/plugins/entity-definitions/phone-number.ts +1 -1
- package/src/auth/plugins/entity-definitions/sso.ts +1 -1
- package/src/auth/plugins/entity-definitions/two-factor.ts +1 -1
- package/src/auth/plugins/entity-definitions/types.ts +1 -1
- package/src/auth/plugins/entity-definitions/username.ts +1 -1
- package/src/auth/plugins/wrappers/admin.ts +3 -1
- package/src/auth/plugins/wrappers/anonymous.ts +3 -1
- package/src/auth/plugins/wrappers/api-key.ts +3 -1
- package/src/auth/plugins/wrappers/jwt.ts +3 -1
- package/src/auth/plugins/wrappers/organization.ts +3 -1
- package/src/auth/plugins/wrappers/passkey.ts +3 -1
- package/src/auth/plugins/wrappers/phone-number.ts +3 -1
- package/src/auth/plugins/wrappers/sso.ts +2 -1
- package/src/auth/plugins/wrappers/two-factor.ts +3 -1
- package/src/auth/plugins/wrappers/username.ts +3 -1
- package/src/bin/__tests__/ts-loader-register.test.ts +7 -12
- package/src/bin/build-config.ts +3 -3
- package/src/bin/cli.ts +27 -25
- package/src/bin/fixture.ts +4 -2
- package/src/bin/hmr-hook-register.ts +1 -0
- package/src/bin/test-command.ts +4 -2
- package/src/bin/ts-loader-registration.ts +6 -22
- package/src/cache/cache-manager.ts +2 -1
- package/src/cache/decorator.ts +2 -2
- package/src/cache/types.ts +3 -3
- package/src/cache-control/cache-control.ts +3 -2
- package/src/cache-control/types.ts +2 -2
- package/src/compress/compress.ts +1 -1
- package/src/cone/cone-generator.ts +5 -3
- package/src/database/_batch_update.ts +1 -1
- package/src/database/base-model.ts +20 -14
- package/src/database/base-model.types.ts +12 -11
- package/src/database/db.ts +56 -21
- package/src/database/knex.ts +2 -2
- package/src/database/puri-subset.test-d.ts +33 -32
- package/src/database/puri-subset.types.ts +6 -7
- package/src/database/puri-wrapper.ts +29 -26
- package/src/database/puri.ts +36 -34
- package/src/database/puri.types.test-d.ts +6 -5
- package/src/database/puri.types.ts +9 -12
- package/src/database/transaction-context.ts +2 -2
- package/src/database/upsert-builder.ts +17 -10
- package/src/dict/sd.ts +17 -4
- package/src/dict/sonamu-dictionary.ts +23 -17
- package/src/entity/entity-manager.ts +9 -7
- package/src/entity/entity-template-cone.ts +10 -3
- package/src/entity/entity.ts +20 -16
- package/src/exceptions/error-handler.ts +2 -1
- package/src/exceptions/so-exceptions.ts +1 -1
- package/src/filter/utils.ts +3 -2
- package/src/logger/category.ts +1 -0
- package/src/logger/configure.ts +5 -5
- package/src/migration/__tests__/code-generation.search-text.test.ts +2 -3
- package/src/migration/code-generation.ts +26 -25
- package/src/migration/migration-set.ts +16 -18
- package/src/migration/migrator.ts +38 -33
- package/src/migration/postgresql-schema-reader.ts +12 -12
- package/src/migration/slack-confirm.ts +5 -4
- package/src/migration/types.ts +2 -2
- package/src/naite/messaging-types.ts +1 -1
- package/src/naite/naite-reporter.ts +5 -3
- package/src/naite/naite.ts +12 -7
- package/src/shared/app.shared.ts.txt +2 -2
- package/src/shared/web.shared.ts.txt +2 -2
- package/src/skills/AGENTS.md +19 -18
- package/src/skills/commands/sonamu-skills.md +9 -9
- package/src/skills/sonamu/SKILL.md +111 -104
- package/src/skills/sonamu/ai-agents.md +27 -26
- package/src/skills/sonamu/api.md +81 -69
- package/src/skills/sonamu/auth-migration.md +13 -27
- package/src/skills/sonamu/auth-plugins.md +41 -31
- package/src/skills/sonamu/auth.md +30 -24
- package/src/skills/sonamu/cdd.md +26 -17
- package/src/skills/sonamu/cone.md +50 -50
- package/src/skills/sonamu/config.md +74 -51
- package/src/skills/sonamu/create-sonamu.md +31 -19
- package/src/skills/sonamu/database.md +43 -26
- package/src/skills/sonamu/entity-basic.md +61 -61
- package/src/skills/sonamu/entity-relations.md +84 -80
- package/src/skills/sonamu/entity-validation-checklist.md +19 -15
- package/src/skills/sonamu/fixture-cli.md +52 -30
- package/src/skills/sonamu/framework-change.md +9 -7
- package/src/skills/sonamu/frontend.md +64 -82
- package/src/skills/sonamu/i18n.md +45 -37
- package/src/skills/sonamu/migration.md +54 -31
- package/src/skills/sonamu/model.md +98 -66
- package/src/skills/sonamu/naite.md +34 -32
- package/src/skills/sonamu/project-init.md +28 -8
- package/src/skills/sonamu/puri.md +82 -91
- package/src/skills/sonamu/scaffolding.md +44 -32
- package/src/skills/sonamu/skill-contribution.md +50 -45
- package/src/skills/sonamu/subset.md +13 -13
- package/src/skills/sonamu/tasks.md +73 -58
- package/src/skills/sonamu/testing-devrunner.md +56 -36
- package/src/skills/sonamu/testing.md +23 -58
- package/src/skills/sonamu/upsert.md +32 -31
- package/src/skills/sonamu/vector.md +37 -36
- package/src/ssr/index.ts +2 -12
- package/src/ssr/registry.ts +1 -1
- package/src/ssr/renderer.ts +7 -5
- package/src/ssr/types.ts +2 -2
- package/src/storage/buffered-file.ts +4 -2
- package/src/storage/drivers.ts +3 -2
- package/src/storage/s3-driver.ts +7 -4
- package/src/storage/storage-manager.ts +3 -2
- package/src/storage/types.ts +3 -2
- package/src/storage/uploaded-file.ts +1 -1
- package/src/stream/sse.ts +2 -2
- package/src/syncer/api-parser.ts +8 -5
- package/src/syncer/checksum.ts +9 -5
- package/src/syncer/code-generator.ts +16 -8
- package/src/syncer/entity-operations.ts +5 -3
- package/src/syncer/file-patterns.ts +2 -1
- package/src/syncer/module-loader.ts +9 -6
- package/src/syncer/syncer-actions.ts +5 -3
- package/src/syncer/syncer.ts +18 -24
- package/src/tasks/decorator.ts +10 -8
- package/src/tasks/step-wrapper.ts +1 -1
- package/src/tasks/workflow-manager.ts +18 -15
- package/src/template/__tests__/generated.template.search-text.test.ts +1 -0
- package/src/template/entity-converter.ts +4 -2
- package/src/template/generated.template.test-d.ts +2 -1
- package/src/template/helpers.ts +5 -2
- package/src/template/implementations/entity.template.ts +9 -8
- package/src/template/implementations/entry-server.template.ts +1 -1
- package/src/template/implementations/generated.template.ts +21 -29
- package/src/template/implementations/generated_http.template.ts +9 -6
- package/src/template/implementations/generated_sso.template.ts +6 -4
- package/src/template/implementations/init_types.template.ts +3 -2
- package/src/template/implementations/model.template.ts +4 -2
- package/src/template/implementations/model_test.template.ts +3 -2
- package/src/template/implementations/queries.template.ts +6 -14
- package/src/template/implementations/sd.template.ts +4 -2
- package/src/template/implementations/services.template.ts +7 -11
- package/src/template/implementations/view_form.template.ts +5 -3
- package/src/template/implementations/view_id_all_select.template.ts +3 -2
- package/src/template/implementations/view_list.template.ts +7 -5
- package/src/template/implementations/view_search_input.template.ts +3 -2
- package/src/template/template-manager.ts +4 -3
- package/src/template/template.ts +4 -3
- package/src/template/zod-converter.ts +10 -7
- package/src/testing/__tests__/dev-test-routes.test.ts +3 -2
- package/src/testing/__tests__/dev-vitest-manager.test.ts +1 -0
- package/src/testing/_relation-graph.ts +2 -2
- package/src/testing/bootstrap.ts +55 -27
- package/src/testing/data-explorer.ts +5 -4
- package/src/testing/dev-test-routes.ts +8 -5
- package/src/testing/dev-vitest-manager.ts +13 -12
- package/src/testing/fixture-generator.ts +11 -17
- package/src/testing/fixture-manager.ts +21 -17
- package/src/testing/parallel-db-manager.ts +2 -1
- package/src/testing/vitest-helpers.ts +2 -1
- package/src/types/__tests__/entity-json-schema-search-text.test.ts +1 -0
- package/src/types/types.ts +8 -8
- package/src/typings/knex.d.ts +4 -4
- package/src/ui/ai-api.ts +5 -3
- package/src/ui/ai-client.ts +6 -5
- package/src/ui/api.ts +25 -23
- package/src/ui/cdd-service.ts +12 -11
- package/src/utils/console-util.ts +3 -1
- package/src/utils/formatter.ts +94 -102
- package/src/utils/fs-utils.ts +2 -1
- package/src/utils/model.ts +2 -2
- package/src/utils/object-utils.ts +3 -3
- package/src/utils/process-utils.ts +2 -1
- package/src/utils/sql-parser.ts +10 -1
- package/src/utils/type-utils.ts +3 -3
- package/src/utils/utils.ts +9 -7
- package/src/utils/zod-error.ts +1 -1
- package/src/vector/chunking.ts +1 -1
- package/src/vector/config.ts +1 -1
- package/src/vector/embedding.ts +11 -9
- package/tsdown.api.config.ts +50 -0
- package/.swcrc.project-default +0 -18
- package/dist/api/__tests__/config.test.js +0 -189
- package/dist/bin/__tests__/test-command.test.js +0 -112
- package/dist/bin/__tests__/ts-loader-register.test.js +0 -45
- package/dist/database/puri-subset.test-d.js +0 -89
- package/dist/database/puri.types.test-d.js +0 -129
- package/dist/migration/__tests__/code-generation.search-text.test.js +0 -435
- package/dist/template/__tests__/generated.template.search-text.test.js +0 -99
- package/dist/template/generated.template.test-d.js +0 -24
- package/dist/testing/__tests__/dev-test-routes.test.js +0 -144
- package/dist/testing/__tests__/dev-vitest-manager.test.js +0 -152
- package/dist/types/__tests__/entity-json-schema-search-text.test.js +0 -256
- package/dist/typings/knex.d.js +0 -3
- package/dist/ui-web/assets/index-CKo0Z2Iu.css +0 -1
- package/dist/ui-web/assets/index-DK-2aacv.js +0 -257
|
@@ -1,46 +1,53 @@
|
|
|
1
|
+
import { __esmMin } from "../_virtual/rolldown_runtime.js";
|
|
2
|
+
import { BaseFile, init_base_file } from "./base-file.js";
|
|
1
3
|
import { createHash } from "crypto";
|
|
2
|
-
import { BaseFile } from "./base-file.js";
|
|
3
|
-
/**
|
|
4
|
-
* Buffer 모드로 업로드된 파일
|
|
5
|
-
* 메모리에 로드된 상태로, md5 계산이나 이미지 처리 등 유연한 작업이 가능합니다.
|
|
6
|
-
*/ export class BufferedFile extends BaseFile {
|
|
7
|
-
_file;
|
|
8
|
-
_buffer;
|
|
9
|
-
constructor(file, buffer){
|
|
10
|
-
super({
|
|
11
|
-
filename: file.filename,
|
|
12
|
-
mimetype: file.mimetype,
|
|
13
|
-
size: buffer.length
|
|
14
|
-
});
|
|
15
|
-
this._file = file;
|
|
16
|
-
this._buffer = buffer;
|
|
17
|
-
}
|
|
18
|
-
/** 파일 Buffer */ get buffer() {
|
|
19
|
-
return this._buffer;
|
|
20
|
-
}
|
|
21
|
-
/** MD5 해시 계산 */ async md5() {
|
|
22
|
-
return createHash("md5").update(this._buffer).digest("hex");
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* 파일을 디스크에 저장
|
|
26
|
-
* @param key 저장 경로 (예: 'uploads/avatar.png')
|
|
27
|
-
* @param diskName 디스크 이름 (기본: default disk)
|
|
28
|
-
* @returns 저장된 파일의 URL
|
|
29
|
-
*/ async saveToDisk(diskName, key) {
|
|
30
|
-
// 순환 의존성 방지를 위해 동적 import
|
|
31
|
-
const { Sonamu } = await import("../api/sonamu.js");
|
|
32
|
-
const disk = Sonamu.storage.use(diskName);
|
|
33
|
-
await disk.put(key, new Uint8Array(this._buffer), {
|
|
34
|
-
contentType: this.mimetype
|
|
35
|
-
});
|
|
36
|
-
this._url = await disk.getUrl(key);
|
|
37
|
-
this._signedUrl = await disk.getSignedUrl(key);
|
|
38
|
-
// signed url은 만료 시간이 있기 때문에, unsigned url을 반환합니다.
|
|
39
|
-
return this._url;
|
|
40
|
-
}
|
|
41
|
-
/** 원본 MultipartFile 접근 */ get raw() {
|
|
42
|
-
return this._file;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
4
|
|
|
46
|
-
//#
|
|
5
|
+
//#region src/storage/buffered-file.ts
|
|
6
|
+
var BufferedFile;
|
|
7
|
+
var init_buffered_file = __esmMin((() => {
|
|
8
|
+
init_base_file();
|
|
9
|
+
BufferedFile = class extends BaseFile {
|
|
10
|
+
_file;
|
|
11
|
+
_buffer;
|
|
12
|
+
constructor(file, buffer) {
|
|
13
|
+
super({
|
|
14
|
+
filename: file.filename,
|
|
15
|
+
mimetype: file.mimetype,
|
|
16
|
+
size: buffer.length
|
|
17
|
+
});
|
|
18
|
+
this._file = file;
|
|
19
|
+
this._buffer = buffer;
|
|
20
|
+
}
|
|
21
|
+
/** 파일 Buffer */
|
|
22
|
+
get buffer() {
|
|
23
|
+
return this._buffer;
|
|
24
|
+
}
|
|
25
|
+
/** MD5 해시 계산 */
|
|
26
|
+
async md5() {
|
|
27
|
+
return createHash("md5").update(this._buffer).digest("hex");
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 파일을 디스크에 저장
|
|
31
|
+
* @param key 저장 경로 (예: 'uploads/avatar.png')
|
|
32
|
+
* @param diskName 디스크 이름 (기본: default disk)
|
|
33
|
+
* @returns 저장된 파일의 URL
|
|
34
|
+
*/
|
|
35
|
+
async saveToDisk(diskName, key) {
|
|
36
|
+
const { Sonamu } = await import("../api/sonamu.js");
|
|
37
|
+
const disk = Sonamu.storage.use(diskName);
|
|
38
|
+
await disk.put(key, new Uint8Array(this._buffer), { contentType: this.mimetype });
|
|
39
|
+
this._url = await disk.getUrl(key);
|
|
40
|
+
this._signedUrl = await disk.getSignedUrl(key);
|
|
41
|
+
return this._url;
|
|
42
|
+
}
|
|
43
|
+
/** 원본 MultipartFile 접근 */
|
|
44
|
+
get raw() {
|
|
45
|
+
return this._file;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}));
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
init_buffered_file();
|
|
52
|
+
export { BufferedFile, init_buffered_file };
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyZWQtZmlsZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9idWZmZXJlZC1maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tIFwiY3J5cHRvXCI7XG5cbmltcG9ydCB7IHR5cGUgTXVsdGlwYXJ0RmlsZSB9IGZyb20gXCJAZmFzdGlmeS9tdWx0aXBhcnRcIjtcblxuaW1wb3J0IHsgQmFzZUZpbGUgfSBmcm9tIFwiLi9iYXNlLWZpbGVcIjtcbmltcG9ydCB7IHR5cGUgRHJpdmVyS2V5IH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuXG4vKipcbiAqIEJ1ZmZlciDrqqjrk5zroZwg7JeF66Gc65Oc65CcIO2MjOydvFxuICog66mU66qo66as7JeQIOuhnOuTnOuQnCDsg4Htg5zroZwsIG1kNSDqs4TsgrDsnbTrgpgg7J2066+47KeAIOyymOumrCDrk7Eg7Jyg7Jew7ZWcIOyekeyXheydtCDqsIDriqXtlanri4jri6QuXG4gKi9cbmV4cG9ydCBjbGFzcyBCdWZmZXJlZEZpbGUgZXh0ZW5kcyBCYXNlRmlsZSB7XG4gIHByaXZhdGUgX2ZpbGU6IE11bHRpcGFydEZpbGU7XG4gIHByaXZhdGUgX2J1ZmZlcjogQnVmZmVyO1xuXG4gIGNvbnN0cnVjdG9yKGZpbGU6IE11bHRpcGFydEZpbGUsIGJ1ZmZlcjogQnVmZmVyKSB7XG4gICAgc3VwZXIoe1xuICAgICAgZmlsZW5hbWU6IGZpbGUuZmlsZW5hbWUsXG4gICAgICBtaW1ldHlwZTogZmlsZS5taW1ldHlwZSxcbiAgICAgIHNpemU6IGJ1ZmZlci5sZW5ndGgsXG4gICAgfSk7XG4gICAgdGhpcy5fZmlsZSA9IGZpbGU7XG4gICAgdGhpcy5fYnVmZmVyID0gYnVmZmVyO1xuICB9XG5cbiAgLyoqIO2MjOydvCBCdWZmZXIgKi9cbiAgZ2V0IGJ1ZmZlcigpOiBCdWZmZXIge1xuICAgIHJldHVybiB0aGlzLl9idWZmZXI7XG4gIH1cblxuICAvKiogTUQ1IO2VtOyLnCDqs4TsgrAgKi9cbiAgYXN5bmMgbWQ1KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGNyZWF0ZUhhc2goXCJtZDVcIikudXBkYXRlKHRoaXMuX2J1ZmZlcikuZGlnZXN0KFwiaGV4XCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIO2MjOydvOydhCDrlJTsiqTtgazsl5Ag7KCA7J6lXG4gICAqIEBwYXJhbSBrZXkg7KCA7J6lIOqyveuhnCAo7JiIOiAndXBsb2Fkcy9hdmF0YXIucG5nJylcbiAgICogQHBhcmFtIGRpc2tOYW1lIOuUlOyKpO2BrCDsnbTrpoQgKOq4sOuzuDogZGVmYXVsdCBkaXNrKVxuICAgKiBAcmV0dXJucyDsoIDsnqXrkJwg7YyM7J287J2YIFVSTFxuICAgKi9cbiAgYXN5bmMgc2F2ZVRvRGlzayhkaXNrTmFtZTogRHJpdmVyS2V5LCBrZXk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8g7Iic7ZmYIOydmOyhtOyEsSDrsKnsp4Drpbwg7JyE7ZW0IOuPmeyggSBpbXBvcnRcbiAgICBjb25zdCB7IFNvbmFtdSB9ID0gYXdhaXQgaW1wb3J0KFwiLi4vYXBpL3NvbmFtdVwiKTtcbiAgICBjb25zdCBkaXNrID0gU29uYW11LnN0b3JhZ2UudXNlKGRpc2tOYW1lKTtcblxuICAgIGF3YWl0IGRpc2sucHV0KGtleSwgbmV3IFVpbnQ4QXJyYXkodGhpcy5fYnVmZmVyKSwge1xuICAgICAgY29udGVudFR5cGU6IHRoaXMubWltZXR5cGUsXG4gICAgfSk7XG5cbiAgICB0aGlzLl91cmwgPSBhd2FpdCBkaXNrLmdldFVybChrZXkpO1xuICAgIHRoaXMuX3NpZ25lZFVybCA9IGF3YWl0IGRpc2suZ2V0U2lnbmVkVXJsKGtleSk7XG5cbiAgICAvLyBzaWduZWQgdXJs7J2AIOunjOujjCDsi5zqsITsnbQg7J6I6riwIOuVjOusuOyXkCwgdW5zaWduZWQgdXJs7J2EIOuwmO2ZmO2VqeuLiOuLpC5cbiAgICByZXR1cm4gdGhpcy5fdXJsO1xuICB9XG5cbiAgLyoqIOybkOuzuCBNdWx0aXBhcnRGaWxlIOygkeq3vCAqL1xuICBnZXQgcmF3KCk6IE11bHRpcGFydEZpbGUge1xuICAgIHJldHVybiB0aGlzLl9maWxlO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7aUJBSXVDO0NBTzFCLGVBQWIsY0FBa0MsU0FBUztFQUN6QyxBQUFRO0VBQ1IsQUFBUTtFQUVSLFlBQVksTUFBcUIsUUFBZ0I7QUFDL0MsU0FBTTtJQUNKLFVBQVUsS0FBSztJQUNmLFVBQVUsS0FBSztJQUNmLE1BQU0sT0FBTztJQUNkLENBQUM7QUFDRixRQUFLLFFBQVE7QUFDYixRQUFLLFVBQVU7OztFQUlqQixJQUFJLFNBQWlCO0FBQ25CLFVBQU8sS0FBSzs7O0VBSWQsTUFBTSxNQUF1QjtBQUMzQixVQUFPLFdBQVcsTUFBTSxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsT0FBTyxNQUFNOzs7Ozs7OztFQVM3RCxNQUFNLFdBQVcsVUFBcUIsS0FBOEI7R0FFbEUsTUFBTSxFQUFFLFdBQVcsTUFBTSxPQUFPO0dBQ2hDLE1BQU0sT0FBTyxPQUFPLFFBQVEsSUFBSSxTQUFTO0FBRXpDLFNBQU0sS0FBSyxJQUFJLEtBQUssSUFBSSxXQUFXLEtBQUssUUFBUSxFQUFFLEVBQ2hELGFBQWEsS0FBSyxVQUNuQixDQUFDO0FBRUYsUUFBSyxPQUFPLE1BQU0sS0FBSyxPQUFPLElBQUk7QUFDbEMsUUFBSyxhQUFhLE1BQU0sS0FBSyxhQUFhLElBQUk7QUFHOUMsVUFBTyxLQUFLOzs7RUFJZCxJQUFJLE1BQXFCO0FBQ3ZCLFVBQU8sS0FBSyJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FSDriver } from "flydrive/drivers/fs";
|
|
2
|
-
import type
|
|
3
|
-
import type
|
|
2
|
+
import { type FSDriverOptions } from "flydrive/drivers/fs/types";
|
|
3
|
+
import { type S3DriverOptions } from "flydrive/drivers/s3/types";
|
|
4
4
|
import { SonamuS3Driver } from "./s3-driver";
|
|
5
5
|
/**
|
|
6
6
|
* 드라이버 팩토리 함수
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drivers.d.ts","sourceRoot":"","sources":["../../src/storage/drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"drivers.d.ts","sourceRoot":"","sources":["../../src/storage/drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,OAAO;iBACL,eAAe;iBACf,eAAe;CAC7B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,OAAO,CAAC"}
|
package/dist/storage/drivers.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import { FSDriver } from "flydrive/drivers/fs";
|
|
2
1
|
import { SonamuS3Driver } from "./s3-driver.js";
|
|
2
|
+
import { FSDriver } from "flydrive/drivers/fs";
|
|
3
|
+
|
|
4
|
+
//#region src/storage/drivers.ts
|
|
3
5
|
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
* 드라이버 팩토리 함수
|
|
7
|
+
* 설정 → 드라이버 인스턴스 생성 함수 변환
|
|
8
|
+
*/
|
|
9
|
+
const drivers = {
|
|
10
|
+
fs: (config) => () => new FSDriver(config),
|
|
11
|
+
s3: (config) => () => new SonamuS3Driver(config)
|
|
9
12
|
};
|
|
10
13
|
|
|
11
|
-
//#
|
|
14
|
+
//#endregion
|
|
15
|
+
export { drivers };
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJpdmVycy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9kcml2ZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZTRHJpdmVyIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvZnNcIjtcbmltcG9ydCB7IHR5cGUgRlNEcml2ZXJPcHRpb25zIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvZnMvdHlwZXNcIjtcbmltcG9ydCB7IHR5cGUgUzNEcml2ZXJPcHRpb25zIH0gZnJvbSBcImZseWRyaXZlL2RyaXZlcnMvczMvdHlwZXNcIjtcblxuaW1wb3J0IHsgU29uYW11UzNEcml2ZXIgfSBmcm9tIFwiLi9zMy1kcml2ZXJcIjtcblxuLyoqXG4gKiDrk5zrnbzsnbTrsoQg7Yyp7Yag66asIO2VqOyImFxuICog7ISk7KCVIOKGkiDrk5zrnbzsnbTrsoQg7J247Iqk7YS07IqkIOyDneyEsSDtlajsiJgg67OA7ZmYXG4gKi9cbmV4cG9ydCBjb25zdCBkcml2ZXJzID0ge1xuICBmczogKGNvbmZpZzogRlNEcml2ZXJPcHRpb25zKSA9PiAoKSA9PiBuZXcgRlNEcml2ZXIoY29uZmlnKSxcbiAgczM6IChjb25maWc6IFMzRHJpdmVyT3B0aW9ucykgPT4gKCkgPT4gbmV3IFNvbmFtdVMzRHJpdmVyKGNvbmZpZyksXG59O1xuXG5leHBvcnQgdHlwZSBEcml2ZXJLZXkgPSBrZXlvZiB0eXBlb2YgZHJpdmVycztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFVQSxNQUFhLFVBQVU7Q0FDckIsS0FBSyxpQkFBa0MsSUFBSSxTQUFTLE9BQU87Q0FDM0QsS0FBSyxpQkFBa0MsSUFBSSxlQUFlLE9BQU87Q0FDbEUifQ==
|
package/dist/storage/index.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export { UploadedFile as StreamedFile } from "./uploaded-file.js";
|
|
1
|
+
import { BaseFile, init_base_file } from "./base-file.js";
|
|
2
|
+
import { BufferedFile, init_buffered_file } from "./buffered-file.js";
|
|
3
|
+
import { UploadedFile, init_uploaded_file } from "./uploaded-file.js";
|
|
4
|
+
import { drivers } from "./drivers.js";
|
|
5
|
+
import { StorageManager, init_storage_manager } from "./storage-manager.js";
|
|
7
6
|
|
|
8
|
-
//#
|
|
7
|
+
//#region src/storage/index.ts
|
|
8
|
+
init_base_file();
|
|
9
|
+
init_buffered_file();
|
|
10
|
+
init_storage_manager();
|
|
11
|
+
init_uploaded_file();
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { BaseFile, BufferedFile, StorageManager, UploadedFile as StreamedFile, drivers };
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JhZ2UvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU3RvcmFnZSDshJzruIzrqqjrk4ggZXhwb3J0c1xuZXhwb3J0IHsgQmFzZUZpbGUgfSBmcm9tIFwiLi9iYXNlLWZpbGVcIjtcbmV4cG9ydCB7IEJ1ZmZlcmVkRmlsZSB9IGZyb20gXCIuL2J1ZmZlcmVkLWZpbGVcIjtcbmV4cG9ydCB7IHR5cGUgRHJpdmVyS2V5LCBkcml2ZXJzIH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuZXhwb3J0IHsgU3RvcmFnZU1hbmFnZXIgfSBmcm9tIFwiLi9zdG9yYWdlLW1hbmFnZXJcIjtcbmV4cG9ydCB0eXBlIHsgS2V5R2VuZXJhdG9yLCBTdG9yYWdlQ29uZmlnIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCB7IFVwbG9hZGVkRmlsZSBhcyBTdHJlYW1lZEZpbGUgfSBmcm9tIFwiLi91cGxvYWRlZC1maWxlXCI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Z0JBQ3VDO29CQUNRO3NCQUVJO29CQUVZIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { type Readable } from "stream";
|
|
1
2
|
import { S3Driver } from "flydrive/drivers/s3";
|
|
2
|
-
import type
|
|
3
|
-
import type { Readable } from "stream";
|
|
3
|
+
import { type S3DriverOptions } from "flydrive/drivers/s3/types";
|
|
4
4
|
/**
|
|
5
5
|
* Sonamu용 S3 드라이버
|
|
6
6
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-driver.d.ts","sourceRoot":"","sources":["../../src/storage/s3-driver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"s3-driver.d.ts","sourceRoot":"","sources":["../../src/storage/s3-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAMvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,iBAAiB,CAAU;gBAEvB,OAAO,EAAE,eAAe;IAUpC;;;;;OAKG;IACY,SAAS,CACtB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,GACA,OAAO,CAAC,IAAI,CAAC;CAwBjB"}
|
|
@@ -1,53 +1,57 @@
|
|
|
1
1
|
import { S3Client } from "@aws-sdk/client-s3";
|
|
2
2
|
import { Upload } from "@aws-sdk/lib-storage";
|
|
3
3
|
import { S3Driver } from "flydrive/drivers/s3";
|
|
4
|
+
|
|
5
|
+
//#region src/storage/s3-driver.ts
|
|
4
6
|
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
7
|
+
* Sonamu용 S3 드라이버
|
|
8
|
+
*
|
|
9
|
+
* flydrive의 S3Driver를 확장하여 putStream에서
|
|
10
|
+
* @aws-sdk/lib-storage의 Upload 클래스를 사용합니다.
|
|
11
|
+
* 이를 통해 스트림 크기를 모르는 상태에서도 업로드가 가능합니다.
|
|
12
|
+
*
|
|
13
|
+
* 기존 S3Driver.putStream은 PutObjectCommand를 사용하여 Content-Length가 필요했지만,
|
|
14
|
+
* Upload 클래스는 multipart upload를 통해 스트림 크기 없이도 업로드할 수 있습니다.
|
|
15
|
+
*/
|
|
16
|
+
var SonamuS3Driver = class extends S3Driver {
|
|
17
|
+
sonamuClient;
|
|
18
|
+
sonamuBucket;
|
|
19
|
+
sonamuVisibility;
|
|
20
|
+
sonamuSupportsACL;
|
|
21
|
+
constructor(options) {
|
|
22
|
+
super(options);
|
|
23
|
+
this.sonamuClient = "client" in options ? options.client : new S3Client(options);
|
|
24
|
+
this.sonamuBucket = options.bucket;
|
|
25
|
+
this.sonamuVisibility = options.visibility ?? "private";
|
|
26
|
+
this.sonamuSupportsACL = options.supportsACL ?? false;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 스트림을 S3에 업로드합니다.
|
|
30
|
+
*
|
|
31
|
+
* @aws-sdk/lib-storage의 Upload 클래스를 사용하여
|
|
32
|
+
* multipart upload로 처리합니다.
|
|
33
|
+
*/
|
|
34
|
+
async putStream(key, contents, options) {
|
|
35
|
+
const visibility = options?.visibility ?? this.sonamuVisibility;
|
|
36
|
+
const uploadParams = {
|
|
37
|
+
Bucket: this.sonamuBucket,
|
|
38
|
+
Key: key,
|
|
39
|
+
Body: contents,
|
|
40
|
+
ContentType: options?.contentType,
|
|
41
|
+
CacheControl: options?.cacheControl,
|
|
42
|
+
ContentDisposition: options?.contentDisposition
|
|
43
|
+
};
|
|
44
|
+
if (this.sonamuSupportsACL) {
|
|
45
|
+
uploadParams.ACL = visibility === "public" ? "public-read" : "private";
|
|
46
|
+
}
|
|
47
|
+
const upload = new Upload({
|
|
48
|
+
client: this.sonamuClient,
|
|
49
|
+
params: uploadParams
|
|
50
|
+
});
|
|
51
|
+
await upload.done();
|
|
52
|
+
}
|
|
53
|
+
};
|
|
52
54
|
|
|
53
|
-
//#
|
|
55
|
+
//#endregion
|
|
56
|
+
export { SonamuS3Driver };
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtZHJpdmVyLmpzIiwibmFtZXMiOlsidXBsb2FkUGFyYW1zOiBPcHRpb25zW1wicGFyYW1zXCJdIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JhZ2UvczMtZHJpdmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgUmVhZGFibGUgfSBmcm9tIFwic3RyZWFtXCI7XG5cbmltcG9ydCB7IFMzQ2xpZW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zM1wiO1xuaW1wb3J0IHsgdHlwZSBPYmplY3RDYW5uZWRBQ0wgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCI7XG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tIFwiQGF3cy1zZGsvbGliLXN0b3JhZ2VcIjtcbmltcG9ydCB7IHR5cGUgT3B0aW9ucyB9IGZyb20gXCJAYXdzLXNkay9saWItc3RvcmFnZVwiO1xuaW1wb3J0IHsgUzNEcml2ZXIgfSBmcm9tIFwiZmx5ZHJpdmUvZHJpdmVycy9zM1wiO1xuaW1wb3J0IHsgdHlwZSBTM0RyaXZlck9wdGlvbnMgfSBmcm9tIFwiZmx5ZHJpdmUvZHJpdmVycy9zMy90eXBlc1wiO1xuXG4vKipcbiAqIFNvbmFtdeyaqSBTMyDrk5zrnbzsnbTrsoRcbiAqXG4gKiBmbHlkcml2ZeydmCBTM0RyaXZlcuulvCDtmZXsnqXtlZjsl6wgcHV0U3RyZWFt7JeQ7IScXG4gKiBAYXdzLXNkay9saWItc3RvcmFnZeydmCBVcGxvYWQg7YG0656Y7Iqk66W8IOyCrOyaqe2VqeuLiOuLpC5cbiAqIOydtOulvCDthrXtlbQg7Iqk7Yq466a8IO2BrOq4sOulvCDrqqjrpbTripQg7IOB7YOc7JeQ7ISc64+EIOyXheuhnOuTnOqwgCDqsIDriqXtlanri4jri6QuXG4gKlxuICog6riw7KG0IFMzRHJpdmVyLnB1dFN0cmVhbeydgCBQdXRPYmplY3RDb21tYW5k66W8IOyCrOyaqe2VmOyXrCBDb250ZW50LUxlbmd0aOqwgCDtlYTsmpTtlojsp4Drp4wsXG4gKiBVcGxvYWQg7YG0656Y7Iqk64qUIG11bHRpcGFydCB1cGxvYWTrpbwg7Ya17ZW0IOyKpO2KuOumvCDtgazquLAg7JeG7J2064+EIOyXheuhnOuTnO2VoCDsiJgg7J6I7Iq164uI64ukLlxuICovXG5leHBvcnQgY2xhc3MgU29uYW11UzNEcml2ZXIgZXh0ZW5kcyBTM0RyaXZlciB7XG4gIHByaXZhdGUgc29uYW11Q2xpZW50OiBTM0NsaWVudDtcbiAgcHJpdmF0ZSBzb25hbXVCdWNrZXQ6IHN0cmluZztcbiAgcHJpdmF0ZSBzb25hbXVWaXNpYmlsaXR5OiBcInB1YmxpY1wiIHwgXCJwcml2YXRlXCI7XG4gIHByaXZhdGUgc29uYW11U3VwcG9ydHNBQ0w6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogUzNEcml2ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICAvLyBTM0NsaWVudCDsnbjsiqTthLTsiqQg7KCA7J6lIChVcGxvYWQg7YG0656Y7Iqk7JeQ7IScIOyCrOyaqSlcbiAgICB0aGlzLnNvbmFtdUNsaWVudCA9IFwiY2xpZW50XCIgaW4gb3B0aW9ucyA/IG9wdGlvbnMuY2xpZW50IDogbmV3IFMzQ2xpZW50KG9wdGlvbnMpO1xuICAgIHRoaXMuc29uYW11QnVja2V0ID0gb3B0aW9ucy5idWNrZXQ7XG4gICAgdGhpcy5zb25hbXVWaXNpYmlsaXR5ID0gb3B0aW9ucy52aXNpYmlsaXR5ID8/IFwicHJpdmF0ZVwiO1xuICAgIHRoaXMuc29uYW11U3VwcG9ydHNBQ0wgPSBvcHRpb25zLnN1cHBvcnRzQUNMID8/IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIOyKpO2KuOumvOydhCBTM+yXkCDsl4XroZzrk5ztlanri4jri6QuXG4gICAqXG4gICAqIEBhd3Mtc2RrL2xpYi1zdG9yYWdl7J2YIFVwbG9hZCDtgbTrnpjsiqTrpbwg7IKs7Jqp7ZWY7JesXG4gICAqIG11bHRpcGFydCB1cGxvYWTroZwg7LKY66as7ZWp64uI64ukLlxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgcHV0U3RyZWFtKFxuICAgIGtleTogc3RyaW5nLFxuICAgIGNvbnRlbnRzOiBSZWFkYWJsZSxcbiAgICBvcHRpb25zPzoge1xuICAgICAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gICAgICB2aXNpYmlsaXR5PzogXCJwdWJsaWNcIiB8IFwicHJpdmF0ZVwiO1xuICAgICAgY2FjaGVDb250cm9sPzogc3RyaW5nO1xuICAgICAgY29udGVudERpc3Bvc2l0aW9uPzogc3RyaW5nO1xuICAgIH0sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHZpc2liaWxpdHkgPSBvcHRpb25zPy52aXNpYmlsaXR5ID8/IHRoaXMuc29uYW11VmlzaWJpbGl0eTtcblxuICAgIGNvbnN0IHVwbG9hZFBhcmFtczogT3B0aW9uc1tcInBhcmFtc1wiXSA9IHtcbiAgICAgIEJ1Y2tldDogdGhpcy5zb25hbXVCdWNrZXQsXG4gICAgICBLZXk6IGtleSxcbiAgICAgIEJvZHk6IGNvbnRlbnRzLFxuICAgICAgQ29udGVudFR5cGU6IG9wdGlvbnM/LmNvbnRlbnRUeXBlLFxuICAgICAgQ2FjaGVDb250cm9sOiBvcHRpb25zPy5jYWNoZUNvbnRyb2wsXG4gICAgICBDb250ZW50RGlzcG9zaXRpb246IG9wdGlvbnM/LmNvbnRlbnREaXNwb3NpdGlvbixcbiAgICB9O1xuXG4gICAgLy8gQUNMIOyngOybkCDsi5zsl5Drp4wg7ISk7KCVXG4gICAgaWYgKHRoaXMuc29uYW11U3VwcG9ydHNBQ0wpIHtcbiAgICAgIHVwbG9hZFBhcmFtcy5BQ0wgPSAodmlzaWJpbGl0eSA9PT0gXCJwdWJsaWNcIiA/IFwicHVibGljLXJlYWRcIiA6IFwicHJpdmF0ZVwiKSBhcyBPYmplY3RDYW5uZWRBQ0w7XG4gICAgfVxuXG4gICAgY29uc3QgdXBsb2FkID0gbmV3IFVwbG9hZCh7XG4gICAgICBjbGllbnQ6IHRoaXMuc29uYW11Q2xpZW50LFxuICAgICAgcGFyYW1zOiB1cGxvYWRQYXJhbXMsXG4gICAgfSk7XG5cbiAgICBhd2FpdCB1cGxvYWQuZG9uZSgpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQW1CQSxJQUFhLGlCQUFiLGNBQW9DLFNBQVM7Q0FDM0MsQUFBUTtDQUNSLEFBQVE7Q0FDUixBQUFRO0NBQ1IsQUFBUTtDQUVSLFlBQVksU0FBMEI7QUFDcEMsUUFBTSxRQUFRO0FBR2QsT0FBSyxlQUFlLFlBQVksVUFBVSxRQUFRLFNBQVMsSUFBSSxTQUFTLFFBQVE7QUFDaEYsT0FBSyxlQUFlLFFBQVE7QUFDNUIsT0FBSyxtQkFBbUIsUUFBUSxjQUFjO0FBQzlDLE9BQUssb0JBQW9CLFFBQVEsZUFBZTs7Ozs7Ozs7Q0FTbEQsTUFBZSxVQUNiLEtBQ0EsVUFDQSxTQU1lO0VBQ2YsTUFBTSxhQUFhLFNBQVMsY0FBYyxLQUFLO0VBRS9DLE1BQU1BLGVBQWtDO0dBQ3RDLFFBQVEsS0FBSztHQUNiLEtBQUs7R0FDTCxNQUFNO0dBQ04sYUFBYSxTQUFTO0dBQ3RCLGNBQWMsU0FBUztHQUN2QixvQkFBb0IsU0FBUztHQUM5QjtBQUdELE1BQUksS0FBSyxtQkFBbUI7QUFDMUIsZ0JBQWEsTUFBTyxlQUFlLFdBQVcsZ0JBQWdCOztFQUdoRSxNQUFNLFNBQVMsSUFBSSxPQUFPO0dBQ3hCLFFBQVEsS0FBSztHQUNiLFFBQVE7R0FDVCxDQUFDO0FBRUYsUUFBTSxPQUFPLE1BQU0ifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-manager.d.ts","sourceRoot":"","sources":["../../src/storage/storage-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-manager.d.ts","sourceRoot":"","sources":["../../src/storage/storage-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;GAEG;AACH,qBAAa,cAAc;IAGb,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,KAAK,CAAmC;gBAE5B,MAAM,EAAE,aAAa;IAEzC;;;OAGG;IACH,GAAG,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;CAY/B"}
|
|
@@ -1,27 +1,35 @@
|
|
|
1
|
+
import { __esmMin } from "../_virtual/rolldown_runtime.js";
|
|
2
|
+
import { assertDefined, init_utils } from "../utils/utils.js";
|
|
1
3
|
import { Disk } from "flydrive";
|
|
2
|
-
import { assertDefined } from "../utils/utils.js";
|
|
3
|
-
/**
|
|
4
|
-
* 여러 디스크를 관리하는 매니저
|
|
5
|
-
*/ export class StorageManager {
|
|
6
|
-
config;
|
|
7
|
-
disks = new Map();
|
|
8
|
-
constructor(config){
|
|
9
|
-
this.config = config;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* 디스크 인스턴스 반환 (lazy initialization)
|
|
13
|
-
* @param diskName 디스크 이름 (없으면 default)
|
|
14
|
-
*/ use(diskName) {
|
|
15
|
-
if (!this.disks.has(diskName)) {
|
|
16
|
-
const factory = this.config.drivers[diskName];
|
|
17
|
-
if (!factory) {
|
|
18
|
-
const available = Object.keys(this.config.drivers).join(", ");
|
|
19
|
-
throw new Error(`Unknown disk: "${diskName}". Available: ${available}`);
|
|
20
|
-
}
|
|
21
|
-
this.disks.set(diskName, new Disk(factory()));
|
|
22
|
-
}
|
|
23
|
-
return assertDefined(this.disks.get(diskName), `Disk ${diskName} not found`);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
4
|
|
|
27
|
-
//#
|
|
5
|
+
//#region src/storage/storage-manager.ts
|
|
6
|
+
var StorageManager;
|
|
7
|
+
var init_storage_manager = __esmMin((() => {
|
|
8
|
+
init_utils();
|
|
9
|
+
StorageManager = class {
|
|
10
|
+
disks = new Map();
|
|
11
|
+
constructor(config) {
|
|
12
|
+
this.config = config;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 디스크 인스턴스 반환 (lazy initialization)
|
|
16
|
+
* @param diskName 디스크 이름 (없으면 default)
|
|
17
|
+
*/
|
|
18
|
+
use(diskName) {
|
|
19
|
+
if (!this.disks.has(diskName)) {
|
|
20
|
+
const factory = this.config.drivers[diskName];
|
|
21
|
+
if (!factory) {
|
|
22
|
+
const available = Object.keys(this.config.drivers).join(", ");
|
|
23
|
+
throw new Error(`Unknown disk: "${diskName}". Available: ${available}`);
|
|
24
|
+
}
|
|
25
|
+
this.disks.set(diskName, new Disk(factory()));
|
|
26
|
+
}
|
|
27
|
+
return assertDefined(this.disks.get(diskName), `Disk ${diskName} not found`);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}));
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
init_storage_manager();
|
|
34
|
+
export { StorageManager, init_storage_manager };
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS1tYW5hZ2VyLmpzIiwibmFtZXMiOlsiY29uZmlnOiBTdG9yYWdlQ29uZmlnIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JhZ2Uvc3RvcmFnZS1tYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpc2sgfSBmcm9tIFwiZmx5ZHJpdmVcIjtcblxuaW1wb3J0IHsgYXNzZXJ0RGVmaW5lZCB9IGZyb20gXCIuLi91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgdHlwZSBEcml2ZXJLZXkgfSBmcm9tIFwiLi9kcml2ZXJzXCI7XG5pbXBvcnQgeyB0eXBlIFN0b3JhZ2VDb25maWcgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIOyXrOufrCDrlJTsiqTtgazrpbwg6rSA66as7ZWY64qUIOunpOuLiOyggFxuICovXG5leHBvcnQgY2xhc3MgU3RvcmFnZU1hbmFnZXIge1xuICBwcml2YXRlIGRpc2tzOiBNYXA8RHJpdmVyS2V5LCBEaXNrPiA9IG5ldyBNYXAoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogU3RvcmFnZUNvbmZpZykge31cblxuICAvKipcbiAgICog65SU7Iqk7YGsIOyduOyKpO2EtOyKpCDrsJjtmZggKGxhenkgaW5pdGlhbGl6YXRpb24pXG4gICAqIEBwYXJhbSBkaXNrTmFtZSDrlJTsiqTtgawg7J2066aEICjsl4bsnLzrqbQgZGVmYXVsdClcbiAgICovXG4gIHVzZShkaXNrTmFtZTogRHJpdmVyS2V5KTogRGlzayB7XG4gICAgaWYgKCF0aGlzLmRpc2tzLmhhcyhkaXNrTmFtZSkpIHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbmZpZy5kcml2ZXJzW2Rpc2tOYW1lXTtcbiAgICAgIGlmICghZmFjdG9yeSkge1xuICAgICAgICBjb25zdCBhdmFpbGFibGUgPSBPYmplY3Qua2V5cyh0aGlzLmNvbmZpZy5kcml2ZXJzKS5qb2luKFwiLCBcIik7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBkaXNrOiBcIiR7ZGlza05hbWV9XCIuIEF2YWlsYWJsZTogJHthdmFpbGFibGV9YCk7XG4gICAgICB9XG4gICAgICB0aGlzLmRpc2tzLnNldChkaXNrTmFtZSwgbmV3IERpc2soZmFjdG9yeSgpKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFzc2VydERlZmluZWQodGhpcy5kaXNrcy5nZXQoZGlza05hbWUpLCBgRGlzayAke2Rpc2tOYW1lfSBub3QgZm91bmRgKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O2FBRStDO0NBT2xDLGlCQUFiLE1BQTRCO0VBQzFCLEFBQVEsUUFBOEIsSUFBSSxLQUFLO0VBRS9DLFlBQVksQUFBUUEsUUFBdUI7R0FBdkI7Ozs7OztFQU1wQixJQUFJLFVBQTJCO0FBQzdCLE9BQUksQ0FBQyxLQUFLLE1BQU0sSUFBSSxTQUFTLEVBQUU7SUFDN0IsTUFBTSxVQUFVLEtBQUssT0FBTyxRQUFRO0FBQ3BDLFFBQUksQ0FBQyxTQUFTO0tBQ1osTUFBTSxZQUFZLE9BQU8sS0FBSyxLQUFLLE9BQU8sUUFBUSxDQUFDLEtBQUssS0FBSztBQUM3RCxXQUFNLElBQUksTUFBTSxrQkFBa0IsU0FBUyxnQkFBZ0IsWUFBWTs7QUFFekUsU0FBSyxNQUFNLElBQUksVUFBVSxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUM7O0FBRy9DLFVBQU8sY0FBYyxLQUFLLE1BQU0sSUFBSSxTQUFTLEVBQUUsUUFBUSxTQUFTLFlBQVkifQ==
|
package/dist/storage/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,cAAc,CAAC,CAAC;IACjD,wDAAwD;IACxD,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC"}
|
package/dist/storage/types.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Storage 설정 타입
|
|
3
|
-
*/ export { };
|
|
4
|
-
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRHJpdmVyQ29udHJhY3QgfSBmcm9tIFwiZmx5ZHJpdmUvdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgRHJpdmVyS2V5IH0gZnJvbSBcIi4vZHJpdmVyc1wiO1xuXG4vKipcbiAqIFN0cmVhbSDrqqjrk5zsl5DshJwg7YyM7J28IO2CpCDsg53shLEg7ZWo7IiYIO2DgOyehVxuICovXG5leHBvcnQgdHlwZSBLZXlHZW5lcmF0b3IgPSAoZmlsZToge1xuICBmaWxlbmFtZTogc3RyaW5nO1xuICBtaW1ldHlwZTogc3RyaW5nO1xufSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+O1xuXG4vKipcbiAqIFN0b3JhZ2Ug7ISk7KCVIO2DgOyehVxuICovXG5leHBvcnQgdHlwZSBTdG9yYWdlQ29uZmlnID0ge1xuICAvKiog65SU7Iqk7YGs67OEIOuTnOudvOydtOuyhCDtjKnthqDrpqwgKi9cbiAgZHJpdmVyczogUmVjb3JkPERyaXZlcktleSwgKCkgPT4gRHJpdmVyQ29udHJhY3Q+O1xuICAvKiogc3RyZWFtIOuqqOuTnOydmCDsoITsl60g7YKkIOyDneyEsSDtlajsiJggKOyDneuetSDsi5wgdGltZXN0YW1wLXJhbmRvbSDquLDrs7jqsJIpICovXG4gIGtleUdlbmVyYXRvcj86IEtleUdlbmVyYXRvcjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0E7O0NBRUMsR0FDRCxXQUtFIn0=
|
|
1
|
+
export { };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploaded-file.d.ts","sourceRoot":"","sources":["../../src/storage/uploaded-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"uploaded-file.d.ts","sourceRoot":"","sources":["../../src/storage/uploaded-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;GAGG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACxC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAY;gBAEjB,MAAM,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,SAAS,CAAC;KACrB;IAYD,cAAc;IACd,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,iBAAiB;IACjB,IAAI,QAAQ,IAAI,SAAS,CAExB;IAED;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAOlC"}
|
|
@@ -1,36 +1,46 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
* Stream 모드로 업로드된 파일
|
|
4
|
-
* 이미 저장소에 스트리밍 완료된 상태로, url/key 등 메타데이터만 접근 가능합니다.
|
|
5
|
-
*/ export class UploadedFile extends BaseFile {
|
|
6
|
-
_key;
|
|
7
|
-
_diskName;
|
|
8
|
-
constructor(params){
|
|
9
|
-
super({
|
|
10
|
-
filename: params.filename,
|
|
11
|
-
mimetype: params.mimetype,
|
|
12
|
-
size: params.size,
|
|
13
|
-
url: params.url,
|
|
14
|
-
signedUrl: params.signedUrl
|
|
15
|
-
});
|
|
16
|
-
this._key = params.key;
|
|
17
|
-
this._diskName = params.diskName;
|
|
18
|
-
}
|
|
19
|
-
/** 저장소 내 키 */ get key() {
|
|
20
|
-
return this._key;
|
|
21
|
-
}
|
|
22
|
-
/** 저장된 디스크 이름 */ get diskName() {
|
|
23
|
-
return this._diskName;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* 저장소에서 파일을 다운로드합니다.
|
|
27
|
-
* 스트림 모드로 업로드된 파일을 나중에 처리해야 할 때 사용합니다.
|
|
28
|
-
*/ async download() {
|
|
29
|
-
const { Sonamu } = await import("../api/sonamu.js");
|
|
30
|
-
const disk = Sonamu.storage.use(this._diskName);
|
|
31
|
-
const uint8Array = await disk.get(this._key);
|
|
32
|
-
return Buffer.from(uint8Array);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
1
|
+
import { __esmMin } from "../_virtual/rolldown_runtime.js";
|
|
2
|
+
import { BaseFile, init_base_file } from "./base-file.js";
|
|
35
3
|
|
|
36
|
-
//#
|
|
4
|
+
//#region src/storage/uploaded-file.ts
|
|
5
|
+
var UploadedFile;
|
|
6
|
+
var init_uploaded_file = __esmMin((() => {
|
|
7
|
+
init_base_file();
|
|
8
|
+
UploadedFile = class extends BaseFile {
|
|
9
|
+
_key;
|
|
10
|
+
_diskName;
|
|
11
|
+
constructor(params) {
|
|
12
|
+
super({
|
|
13
|
+
filename: params.filename,
|
|
14
|
+
mimetype: params.mimetype,
|
|
15
|
+
size: params.size,
|
|
16
|
+
url: params.url,
|
|
17
|
+
signedUrl: params.signedUrl
|
|
18
|
+
});
|
|
19
|
+
this._key = params.key;
|
|
20
|
+
this._diskName = params.diskName;
|
|
21
|
+
}
|
|
22
|
+
/** 저장소 내 키 */
|
|
23
|
+
get key() {
|
|
24
|
+
return this._key;
|
|
25
|
+
}
|
|
26
|
+
/** 저장된 디스크 이름 */
|
|
27
|
+
get diskName() {
|
|
28
|
+
return this._diskName;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 저장소에서 파일을 다운로드합니다.
|
|
32
|
+
* 스트림 모드로 업로드된 파일을 나중에 처리해야 할 때 사용합니다.
|
|
33
|
+
*/
|
|
34
|
+
async download() {
|
|
35
|
+
const { Sonamu } = await import("../api/sonamu.js");
|
|
36
|
+
const disk = Sonamu.storage.use(this._diskName);
|
|
37
|
+
const uint8Array = await disk.get(this._key);
|
|
38
|
+
return Buffer.from(uint8Array);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}));
|
|
42
|
+
|
|
43
|
+
//#endregion
|
|
44
|
+
init_uploaded_file();
|
|
45
|
+
export { UploadedFile, init_uploaded_file };
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZWQtZmlsZS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS91cGxvYWRlZC1maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VGaWxlIH0gZnJvbSBcIi4vYmFzZS1maWxlXCI7XG5pbXBvcnQgeyB0eXBlIERyaXZlcktleSB9IGZyb20gXCIuL2RyaXZlcnNcIjtcblxuLyoqXG4gKiBTdHJlYW0g66qo65Oc66GcIOyXheuhnOuTnOuQnCDtjIzsnbxcbiAqIOydtOuvuCDsoIDsnqXshozsl5Ag7Iqk7Yq466as67CNIOyZhOujjOuQnCDsg4Htg5zroZwsIHVybC9rZXkg65OxIOuplO2DgOuNsOydtO2EsOunjCDsoJHqt7wg6rCA64ql7ZWp64uI64ukLlxuICovXG5leHBvcnQgY2xhc3MgVXBsb2FkZWRGaWxlIGV4dGVuZHMgQmFzZUZpbGUge1xuICBwcml2YXRlIF9rZXk6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGlza05hbWU6IERyaXZlcktleTtcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM6IHtcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIG1pbWV0eXBlOiBzdHJpbmc7XG4gICAgc2l6ZTogbnVtYmVyO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHNpZ25lZFVybDogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xuICAgIGRpc2tOYW1lOiBEcml2ZXJLZXk7XG4gIH0pIHtcbiAgICBzdXBlcih7XG4gICAgICBmaWxlbmFtZTogcGFyYW1zLmZpbGVuYW1lLFxuICAgICAgbWltZXR5cGU6IHBhcmFtcy5taW1ldHlwZSxcbiAgICAgIHNpemU6IHBhcmFtcy5zaXplLFxuICAgICAgdXJsOiBwYXJhbXMudXJsLFxuICAgICAgc2lnbmVkVXJsOiBwYXJhbXMuc2lnbmVkVXJsLFxuICAgIH0pO1xuICAgIHRoaXMuX2tleSA9IHBhcmFtcy5rZXk7XG4gICAgdGhpcy5fZGlza05hbWUgPSBwYXJhbXMuZGlza05hbWU7XG4gIH1cblxuICAvKiog7KCA7J6l7IaMIOuCtCDtgqQgKi9cbiAgZ2V0IGtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9rZXk7XG4gIH1cblxuICAvKiog7KCA7J6l65CcIOuUlOyKpO2BrCDsnbTrpoQgKi9cbiAgZ2V0IGRpc2tOYW1lKCk6IERyaXZlcktleSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2tOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIOyggOyepeyGjOyXkOyEnCDtjIzsnbzsnYQg64uk7Jq066Gc65Oc7ZWp64uI64ukLlxuICAgKiDsiqTtirjrprwg66qo65Oc66GcIOyXheuhnOuTnOuQnCDtjIzsnbzsnYQg64KY7KSR7JeQIOyymOumrO2VtOyVvCDtlaAg65WMIOyCrOyaqe2VqeuLiOuLpC5cbiAgICovXG4gIGFzeW5jIGRvd25sb2FkKCk6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgY29uc3QgeyBTb25hbXUgfSA9IGF3YWl0IGltcG9ydChcIi4uL2FwaS9zb25hbXVcIik7XG4gICAgY29uc3QgZGlzayA9IFNvbmFtdS5zdG9yYWdlLnVzZSh0aGlzLl9kaXNrTmFtZSk7XG5cbiAgICBjb25zdCB1aW50OEFycmF5ID0gYXdhaXQgZGlzay5nZXQodGhpcy5fa2V5KTtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20odWludDhBcnJheSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2lCQUF1QztDQU8xQixlQUFiLGNBQWtDLFNBQVM7RUFDekMsQUFBUTtFQUNSLEFBQVE7RUFFUixZQUFZLFFBUVQ7QUFDRCxTQUFNO0lBQ0osVUFBVSxPQUFPO0lBQ2pCLFVBQVUsT0FBTztJQUNqQixNQUFNLE9BQU87SUFDYixLQUFLLE9BQU87SUFDWixXQUFXLE9BQU87SUFDbkIsQ0FBQztBQUNGLFFBQUssT0FBTyxPQUFPO0FBQ25CLFFBQUssWUFBWSxPQUFPOzs7RUFJMUIsSUFBSSxNQUFjO0FBQ2hCLFVBQU8sS0FBSzs7O0VBSWQsSUFBSSxXQUFzQjtBQUN4QixVQUFPLEtBQUs7Ozs7OztFQU9kLE1BQU0sV0FBNEI7R0FDaEMsTUFBTSxFQUFFLFdBQVcsTUFBTSxPQUFPO0dBQ2hDLE1BQU0sT0FBTyxPQUFPLFFBQVEsSUFBSSxLQUFLLFVBQVU7R0FFL0MsTUFBTSxhQUFhLE1BQU0sS0FBSyxJQUFJLEtBQUssS0FBSztBQUM1QyxVQUFPLE9BQU8sS0FBSyxXQUFXIn0=
|
package/dist/stream/index.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { createMockSSEFactory, createSSEFactory, init_sse } from "./sse.js";
|
|
2
2
|
|
|
3
|
-
//#
|
|
3
|
+
//#region src/stream/index.ts
|
|
4
|
+
init_sse();
|
|
5
|
+
|
|
6
|
+
//#endregion
|
|
7
|
+
export { createMockSSEFactory, createSSEFactory };
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVhbS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9zc2VcIjtcbiJdLCJtYXBwaW5ncyI6IiJ9
|
package/dist/stream/sse.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
1
|
+
import { type FastifyReply, type FastifyRequest } from "fastify";
|
|
2
|
+
import { type z } from "zod";
|
|
3
3
|
export declare function createSSEFactory<T extends z.ZodObject>(socket: FastifyRequest["socket"], reply: FastifyReply, _events: T): SSEConnection<T>;
|
|
4
4
|
export declare function createMockSSEFactory<T extends z.ZodObject>(_events: T): SSEConnection<T>;
|
|
5
5
|
export interface SSEConnection<T extends z.ZodObject> {
|
package/dist/stream/sse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/stream/sse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/stream/sse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EACpD,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,EAChC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,CAAC,GACT,aAAa,CAAC,CAAC,CAAC,CAElB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CASxF;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;IAClD,IAAI,MAAM,IAAI,OAAO,CAAC;IACtB,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB"}
|