@fc3/mmcadi 0.1.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/LICENSE +673 -0
- package/README.md +5 -0
- package/bin/compile +63 -0
- package/bin/copy-static-files +13 -0
- package/bin/install +5 -0
- package/bin/precompile +55 -0
- package/bin/prepublish +7 -0
- package/bin/remap-paths +113 -0
- package/bin/test +9 -0
- package/config/tsconfig.json +37 -0
- package/package.json +33 -0
- package/src/bootstrap/start.ts +12 -0
- package/src/client/bootstrap.ts +5 -0
- package/src/client/client.ts +54 -0
- package/src/client/enum/key-code.ts +34 -0
- package/src/client/enum/page-type.ts +19 -0
- package/src/client/factory/page.ts +61 -0
- package/src/client/page/confirm-delete-block.ts +30 -0
- package/src/client/page/create-block.ts +6 -0
- package/src/client/page/day.ts +8 -0
- package/src/client/page/edit-block.ts +43 -0
- package/src/client/page/edit-custom.ts +16 -0
- package/src/client/page/home.ts +8 -0
- package/src/client/page/login.ts +8 -0
- package/src/client/page/logout.ts +8 -0
- package/src/client/page/month.ts +8 -0
- package/src/client/page/move-block.ts +8 -0
- package/src/client/page/select-block-type.ts +56 -0
- package/src/client/page/settings.ts +8 -0
- package/src/client/page/view-custom.ts +665 -0
- package/src/client/page/week.ts +8 -0
- package/src/client/page/year.ts +8 -0
- package/src/client/page.ts +128 -0
- package/src/client/shim/execute.ts +5 -0
- package/src/client/shim/logger.ts +44 -0
- package/src/client/utility/get-meta-value.ts +23 -0
- package/src/common/builder/block/background.ts +25 -0
- package/src/common/builder/block/folder.ts +43 -0
- package/src/common/builder/block/header.ts +15 -0
- package/src/common/builder/block/link.ts +32 -0
- package/src/common/builder/block/multicolumn.ts +16 -0
- package/src/common/builder/block/note.ts +13 -0
- package/src/common/builder/block/whitespace.ts +13 -0
- package/src/common/utility/get-parent-path.ts +29 -0
- package/src/constant/month-names.ts +16 -0
- package/src/enum/action-type.ts +11 -0
- package/src/enum/block-type.ts +18 -0
- package/src/enum/calendar-view-mode.ts +9 -0
- package/src/enum/color.ts +15 -0
- package/src/enum/default-role.ts +6 -0
- package/src/enum/directory-item-type.ts +6 -0
- package/src/enum/emoji.ts +94 -0
- package/src/enum/field-type.ts +8 -0
- package/src/enum/header-size.ts +7 -0
- package/src/enum/permission-type.ts +8 -0
- package/src/enum/time-place-visibility.ts +8 -0
- package/src/enum/tool-type.ts +14 -0
- package/src/index.ts +8 -0
- package/src/interface/hydration-callback.ts +7 -0
- package/src/interface/provider.ts +8 -0
- package/src/interface/repository.ts +12 -0
- package/src/lib/array/add.ts +10 -0
- package/src/lib/array/assert-is-empty.ts +23 -0
- package/src/lib/array/clone.ts +5 -0
- package/src/lib/array/difference.ts +8 -0
- package/src/lib/array/empty.ts +6 -0
- package/src/lib/array/equal.ts +24 -0
- package/src/lib/array/get-first-value.ts +5 -0
- package/src/lib/array/get-last-value.ts +5 -0
- package/src/lib/array/get-max-value.ts +5 -0
- package/src/lib/array/get-value-after.ts +23 -0
- package/src/lib/array/get-value-before.ts +23 -0
- package/src/lib/array/get-values-between.ts +18 -0
- package/src/lib/array/index.ts +5 -0
- package/src/lib/array/is-empty.ts +6 -0
- package/src/lib/array/remove.ts +19 -0
- package/src/lib/array/sum.ts +11 -0
- package/src/lib/array/unique.ts +13 -0
- package/src/lib/environment/bootstrap.ts +1 -0
- package/src/lib/environment/enum/environment-type.ts +8 -0
- package/src/lib/environment/enum/service-type.ts +5 -0
- package/src/lib/environment/index.ts +7 -0
- package/src/lib/environment/utility/get-environment-type.ts +28 -0
- package/src/lib/environment/utility/is-browser.ts +5 -0
- package/src/lib/environment/utility/is-development.ts +10 -0
- package/src/lib/environment/utility/is-production-or-staging.ts +8 -0
- package/src/lib/environment/utility/is-production.ts +10 -0
- package/src/lib/environment/utility/is-staging.ts +10 -0
- package/src/lib/errors/enum/error-type.ts +13 -0
- package/src/lib/errors/error/base.ts +40 -0
- package/src/lib/errors/error/conflict.ts +16 -0
- package/src/lib/errors/error/generic.ts +23 -0
- package/src/lib/errors/error/invalid.ts +14 -0
- package/src/lib/errors/error/invariant-violation.ts +5 -0
- package/src/lib/errors/error/not-allowed.ts +14 -0
- package/src/lib/errors/error/not-found.ts +16 -0
- package/src/lib/errors/error/not-implemented.ts +20 -0
- package/src/lib/errors/error/omitted.ts +14 -0
- package/src/lib/errors/error/timeout.ts +14 -0
- package/src/lib/errors/error/unauthorized.ts +14 -0
- package/src/lib/errors/index.ts +18 -0
- package/src/lib/errors/sugar/invariant.ts +7 -0
- package/src/lib/errors/type/coded-error.ts +7 -0
- package/src/lib/errors/type/error-data.ts +11 -0
- package/src/lib/errors/utility/create-error-for-error-type.ts +60 -0
- package/src/lib/errors/utility/create-error-from-ambiguous-json-data.ts +26 -0
- package/src/lib/errors/utility/error-matches.ts +28 -0
- package/src/lib/errors/utility/get-error-type-for-posix-error-code.ts +37 -0
- package/src/lib/errors/utility/get-error-type-for-status-code.ts +38 -0
- package/src/lib/errors/utility/get-message-for-error-type.ts +29 -0
- package/src/lib/errors/utility/matches-posix-error-code.ts +11 -0
- package/src/lib/errors/utility/wrap-error.ts +39 -0
- package/src/lib/event-emitter/index.ts +63 -0
- package/src/lib/execution-context/execution-context.ts +90 -0
- package/src/lib/execution-context/index.ts +8 -0
- package/src/lib/execution-context/type/session.ts +7 -0
- package/src/lib/feature/feature.ts +108 -0
- package/src/lib/feature/index.ts +3 -0
- package/src/lib/filesystem/bootstrap.ts +1 -0
- package/src/lib/filesystem/enum/file-extension.ts +19 -0
- package/src/lib/filesystem/index.ts +4 -0
- package/src/lib/filesystem/utility/exists.ts +21 -0
- package/src/lib/filesystem/utility/get-extension-for-filepath.ts +20 -0
- package/src/lib/filesystem/utility/strip-extension.ts +26 -0
- package/src/lib/grammar/index.ts +3 -0
- package/src/lib/grammar/noun-inflector.ts +104 -0
- package/src/lib/grammar/utility/get-words-from-identifier.ts +9 -0
- package/src/lib/grammar/verb-inflector.ts +344 -0
- package/src/lib/http/buffer-stream.ts +76 -0
- package/src/lib/http/enum/content-type.ts +19 -0
- package/src/lib/http/enum/cookie-attribute.ts +11 -0
- package/src/lib/http/enum/header.ts +29 -0
- package/src/lib/http/enum/method.ts +11 -0
- package/src/lib/http/enum/same-site-policy.ts +7 -0
- package/src/lib/http/enum/status-code.ts +9 -0
- package/src/lib/http/factory/body-parser.ts +55 -0
- package/src/lib/http/index.ts +24 -0
- package/src/lib/http/interface/client-request.ts +15 -0
- package/src/lib/http/interface/incoming-message.ts +24 -0
- package/src/lib/http/interface/network-library.ts +9 -0
- package/src/lib/http/interface/request-callback.ts +7 -0
- package/src/lib/http/isomorphic/request.ts +77 -0
- package/src/lib/http/isomorphic/response.ts +77 -0
- package/src/lib/http/isomorphic.ts +20 -0
- package/src/lib/http/parser/accept-header.ts +35 -0
- package/src/lib/http/parser/basic-auth-header.ts +48 -0
- package/src/lib/http/parser/body/json.ts +14 -0
- package/src/lib/http/parser/body/multipart.ts +89 -0
- package/src/lib/http/parser/body/url-encoded.ts +16 -0
- package/src/lib/http/parser/body.ts +44 -0
- package/src/lib/http/parser/cookie.ts +114 -0
- package/src/lib/http/parser/querystring.ts +92 -0
- package/src/lib/http/parser/url.ts +76 -0
- package/src/lib/http/request/incoming.ts +299 -0
- package/src/lib/http/request/outgoing.ts +276 -0
- package/src/lib/http/request.ts +26 -0
- package/src/lib/http/response/incoming.ts +243 -0
- package/src/lib/http/response/outgoing.ts +160 -0
- package/src/lib/http/response.ts +74 -0
- package/src/lib/http/serializer/basic-auth-header.ts +27 -0
- package/src/lib/http/serializer/cookie.ts +90 -0
- package/src/lib/http/serializer/query-data.ts +54 -0
- package/src/lib/http/transaction.ts +320 -0
- package/src/lib/http/type/basic-auth-credentials.ts +6 -0
- package/src/lib/http/type/header-map.ts +5 -0
- package/src/lib/http/type/log-attributes.ts +12 -0
- package/src/lib/http/type/path-parameters.ts +5 -0
- package/src/lib/http/type/query-data.ts +7 -0
- package/src/lib/http/type/query-value.ts +11 -0
- package/src/lib/http/type/request-options.ts +16 -0
- package/src/lib/http/type/transaction-data.ts +4 -0
- package/src/lib/http/utility/get-content-type-for-extension.ts +47 -0
- package/src/lib/http/utility/get-library-for-protocol.ts +25 -0
- package/src/lib/http/utility/get-status-code-for-error-type.ts +37 -0
- package/src/lib/http/utility/get-status-code-for-error.ts +13 -0
- package/src/lib/http/utility/is-client-error-status.ts +15 -0
- package/src/lib/http/utility/is-error-status.ts +9 -0
- package/src/lib/http/utility/is-server-error-status.ts +7 -0
- package/src/lib/http/utility/is-success-status.ts +7 -0
- package/src/lib/http/utility/proxy-request.ts +58 -0
- package/src/lib/http/utility/serialize-request-options.ts +9 -0
- package/src/lib/http/utility/slug-generator.ts +20 -0
- package/src/lib/key-generator/index.ts +3 -0
- package/src/lib/key-generator/key-generator.ts +7 -0
- package/src/lib/logger/enum/ansi-escape-code.ts +14 -0
- package/src/lib/logger/enum/log-level.ts +8 -0
- package/src/lib/logger/formatter.ts +59 -0
- package/src/lib/logger/index.ts +7 -0
- package/src/lib/logger/interface/error-reporter.ts +7 -0
- package/src/lib/logger/interface/logger.ts +13 -0
- package/src/lib/logger/logger.ts +239 -0
- package/src/lib/logger/type/error-parameters.ts +9 -0
- package/src/lib/logger/type/loggable-data.ts +5 -0
- package/src/lib/logger/type/loggable-value.ts +1 -0
- package/src/lib/metrics/dispatcher.ts +264 -0
- package/src/lib/metrics/enum/dispatch-mode.ts +6 -0
- package/src/lib/metrics/index.ts +2 -0
- package/src/lib/metrics/settings-hydrator.ts +51 -0
- package/src/lib/metrics/type/dispatcher-settings.ts +12 -0
- package/src/lib/metrics/type/tag-map.ts +5 -0
- package/src/lib/network/bootstrap.ts +1 -0
- package/src/lib/network/enum/connection-status.ts +14 -0
- package/src/lib/network/enum/http-status-code.ts +75 -0
- package/src/lib/network/enum/network-protocol.ts +10 -0
- package/src/lib/network/event-emitter.ts +63 -0
- package/src/lib/network/index.ts +7 -0
- package/src/lib/network/interface/socket.ts +42 -0
- package/src/lib/network/type/socket-options.ts +6 -0
- package/src/lib/network/utility/get-protocol-from-url.ts +15 -0
- package/src/lib/operation/index.ts +6 -0
- package/src/lib/operation/operation/auto-logging.ts +94 -0
- package/src/lib/operation/operation/silent.ts +17 -0
- package/src/lib/operation/operation.ts +80 -0
- package/src/lib/process/bootstrap.ts +1 -0
- package/src/lib/process/enum/posix-error-code.ts +138 -0
- package/src/lib/process/enum/process-signal.ts +68 -0
- package/src/lib/process/error.ts +6 -0
- package/src/lib/process/execute.ts +77 -0
- package/src/lib/process/index.ts +4 -0
- package/src/lib/process/type/command-options.ts +9 -0
- package/src/lib/process/utility/bind-process-lifespan-to.ts +10 -0
- package/src/lib/promise-wrapper/index.ts +3 -0
- package/src/lib/promise-wrapper/promise-wrapper.ts +51 -0
- package/src/lib/random/chance.ts +5 -0
- package/src/lib/random/element.ts +7 -0
- package/src/lib/random/elements.ts +12 -0
- package/src/lib/random/enum.ts +34 -0
- package/src/lib/random/enums.ts +11 -0
- package/src/lib/random/index.ts +3 -0
- package/src/lib/random/number.ts +8 -0
- package/src/lib/server/base.ts +194 -0
- package/src/lib/server/enum/server-event.ts +5 -0
- package/src/lib/server/enum/server-status.ts +10 -0
- package/src/lib/server/http/endpoint/ping.ts +21 -0
- package/src/lib/server/http/endpoint.ts +345 -0
- package/src/lib/server/http/interface/endpoint-constructor.ts +12 -0
- package/src/lib/server/http/interface/result-serializer.ts +5 -0
- package/src/lib/server/http/middleware.ts +18 -0
- package/src/lib/server/http/result-serializer/html.ts +92 -0
- package/src/lib/server/http/result-serializer/json.ts +23 -0
- package/src/lib/server/http/route.ts +104 -0
- package/src/lib/server/http/router.ts +125 -0
- package/src/lib/server/http/type/session-resolver.ts +8 -0
- package/src/lib/server/http/utility/create-server.ts +34 -0
- package/src/lib/server/http/utility/path-parser.ts +49 -0
- package/src/lib/server/http/utility/standardize-html-indentation.ts +54 -0
- package/src/lib/server/http/websocket-wrapper.ts +83 -0
- package/src/lib/server/http.ts +301 -0
- package/src/lib/server/index.ts +5 -0
- package/src/lib/server/tcp.ts +53 -0
- package/src/lib/server/type/server-options.ts +10 -0
- package/src/lib/string/calculate-length.ts +17 -0
- package/src/lib/string/capitalize.ts +8 -0
- package/src/lib/string/create-slug.ts +14 -0
- package/src/lib/string/enum/ansi-escape-code.ts +14 -0
- package/src/lib/string/enum/string-encoding.ts +9 -0
- package/src/lib/string/hyphenate.ts +5 -0
- package/src/lib/string/index.ts +3 -0
- package/src/lib/string/pad.ts +14 -0
- package/src/lib/string/trim-multiline.ts +21 -0
- package/src/lib/string/trim.ts +8 -0
- package/src/lib/tcp/channel.ts +13 -0
- package/src/lib/tcp/connection/incoming.ts +72 -0
- package/src/lib/tcp/connection/outgoing.ts +219 -0
- package/src/lib/tcp/connection.ts +360 -0
- package/src/lib/tcp/enum/connection-event.ts +12 -0
- package/src/lib/tcp/enum/message-type.ts +9 -0
- package/src/lib/tcp/index.ts +1 -0
- package/src/lib/tcp/type/connection-parameters.ts +6 -0
- package/src/lib/tcp/type/message/channel-close.ts +9 -0
- package/src/lib/tcp/type/message/channel-open.ts +9 -0
- package/src/lib/tcp/type/message.ts +10 -0
- package/src/lib/test/index.ts +2 -0
- package/src/lib/test/utility/build-config.ts +17 -0
- package/src/lib/test/utility/build-execution-context.ts +11 -0
- package/src/lib/time/bootstrap.ts +1 -0
- package/src/lib/time/enum/time-interval.ts +12 -0
- package/src/lib/time/index.ts +4 -0
- package/src/lib/time/utility/format-duration.ts +139 -0
- package/src/lib/time/utility/format-relative-duration.ts +22 -0
- package/src/lib/time/utility/sleep.ts +9 -0
- package/src/operation.ts +18 -0
- package/src/server/endpoint/abstract-page.ts +126 -0
- package/src/server/endpoint/action/create.ts +545 -0
- package/src/server/endpoint/action/get.ts +231 -0
- package/src/server/endpoint/base.ts +51 -0
- package/src/server/endpoint/day.ts +13 -0
- package/src/server/endpoint/generic-page.ts +14 -0
- package/src/server/endpoint/index.ts +11 -0
- package/src/server/endpoint/login.ts +45 -0
- package/src/server/endpoint/logout.ts +38 -0
- package/src/server/endpoint/month.ts +35 -0
- package/src/server/endpoint/robots.ts +18 -0
- package/src/server/endpoint/session/create.ts +62 -0
- package/src/server/endpoint/settings/get.ts +40 -0
- package/src/server/endpoint/settings/update.ts +44 -0
- package/src/server/endpoint/today.ts +15 -0
- package/src/server/endpoint/week.ts +34 -0
- package/src/server/endpoint/year.ts +34 -0
- package/src/server/enum/custom-page-type.ts +10 -0
- package/src/server/factory/block-result-serializer.ts +115 -0
- package/src/server/middleware/base.ts +6 -0
- package/src/server/middleware/error-handler.ts +177 -0
- package/src/server/middleware/static-file.ts +83 -0
- package/src/server/operation/add-block.ts +110 -0
- package/src/server/operation/create-session.ts +43 -0
- package/src/server/operation/delete-block.ts +96 -0
- package/src/server/operation/demote-block.ts +108 -0
- package/src/server/operation/destroy-session.ts +26 -0
- package/src/server/operation/load-account.ts +30 -0
- package/src/server/operation/load-block.ts +48 -0
- package/src/server/operation/load-directory-items.ts +75 -0
- package/src/server/operation/load-page.ts +368 -0
- package/src/server/operation/promote-block.ts +104 -0
- package/src/server/operation/save-page.ts +60 -0
- package/src/server/operation/update-account-settings.ts +52 -0
- package/src/server/operation/update-block.ts +124 -0
- package/src/server/repository/memory.ts +112 -0
- package/src/server/result-serializer/action.ts +939 -0
- package/src/server/result-serializer/base.ts +1267 -0
- package/src/server/result-serializer/block/audio.ts +33 -0
- package/src/server/result-serializer/block/background.ts +20 -0
- package/src/server/result-serializer/block/calendar.ts +148 -0
- package/src/server/result-serializer/block/directory.ts +57 -0
- package/src/server/result-serializer/block/ephemeral.ts +14 -0
- package/src/server/result-serializer/block/folder.ts +106 -0
- package/src/server/result-serializer/block/header.ts +31 -0
- package/src/server/result-serializer/block/image.ts +46 -0
- package/src/server/result-serializer/block/link.ts +40 -0
- package/src/server/result-serializer/block/list.ts +140 -0
- package/src/server/result-serializer/block/multi-column.ts +97 -0
- package/src/server/result-serializer/block/note.ts +44 -0
- package/src/server/result-serializer/block/todo.ts +78 -0
- package/src/server/result-serializer/block/whitespace.ts +15 -0
- package/src/server/result-serializer/block.ts +248 -0
- package/src/server/result-serializer/common/time-place-options.ts +33 -0
- package/src/server/result-serializer/login.ts +58 -0
- package/src/server/result-serializer/month.ts +170 -0
- package/src/server/result-serializer/page.ts +548 -0
- package/src/server/result-serializer/settings.ts +85 -0
- package/src/server/result-serializer/week.ts +195 -0
- package/src/server/result-serializer/year.ts +160 -0
- package/src/server/utility/accepts-content-type.ts +16 -0
- package/src/server/utility/accepts-html.ts +9 -0
- package/src/server/utility/accepts-json.ts +9 -0
- package/src/server/utility/add-days.ts +11 -0
- package/src/server/utility/create-date.ts +23 -0
- package/src/server/utility/create-index-path.ts +5 -0
- package/src/server/utility/create-slug.ts +9 -0
- package/src/server/utility/create-toast-path.ts +19 -0
- package/src/server/utility/date-less-than.ts +5 -0
- package/src/server/utility/date-occurs-before.ts +22 -0
- package/src/server/utility/date-to-key.ts +7 -0
- package/src/server/utility/date-to-label.ts +5 -0
- package/src/server/utility/date-to-path.ts +9 -0
- package/src/server/utility/dates-are-equal.ts +22 -0
- package/src/server/utility/dates-are-in-order.ts +9 -0
- package/src/server/utility/dates-are-on-the-same-day.ts +9 -0
- package/src/server/utility/dates-in-same-month.ts +8 -0
- package/src/server/utility/day-to-date.ts +40 -0
- package/src/server/utility/decrement-date.ts +11 -0
- package/src/server/utility/get-block-at-index-path.ts +32 -0
- package/src/server/utility/get-block-permissions.ts +15 -0
- package/src/server/utility/get-compact-label-for-date.ts +8 -0
- package/src/server/utility/get-custom-page-type-for-path.ts +37 -0
- package/src/server/utility/get-element-id-for-block.ts +15 -0
- package/src/server/utility/get-emoji-for-block-type.ts +39 -0
- package/src/server/utility/get-emoji-for-tool-type.ts +20 -0
- package/src/server/utility/get-end-of-month.ts +13 -0
- package/src/server/utility/get-end-of-week.ts +13 -0
- package/src/server/utility/get-filepath-for-folder-block.ts +23 -0
- package/src/server/utility/get-hex-for-color.ts +31 -0
- package/src/server/utility/get-label-for-time-place-visibility.ts +23 -0
- package/src/server/utility/get-month-name.ts +18 -0
- package/src/server/utility/get-next-day.ts +7 -0
- package/src/server/utility/get-next-month.ts +12 -0
- package/src/server/utility/get-next-week.ts +12 -0
- package/src/server/utility/get-next-year.ts +13 -0
- package/src/server/utility/get-ordinal-label-for-week.ts +11 -0
- package/src/server/utility/get-ordinal-of-week-within-month.ts +15 -0
- package/src/server/utility/get-padded-date.ts +11 -0
- package/src/server/utility/get-parent-index-path.ts +18 -0
- package/src/server/utility/get-path-for-folder-block.ts +25 -0
- package/src/server/utility/get-path-from-url.ts +13 -0
- package/src/server/utility/get-previous-index-path.ts +27 -0
- package/src/server/utility/get-previous-month.ts +12 -0
- package/src/server/utility/get-previous-week.ts +11 -0
- package/src/server/utility/get-previous-year.ts +13 -0
- package/src/server/utility/get-random-emoji-for-date.ts +109 -0
- package/src/server/utility/get-short-label-for-date.ts +11 -0
- package/src/server/utility/get-short-month-name.ts +9 -0
- package/src/server/utility/get-short-ordinal.ts +26 -0
- package/src/server/utility/get-siblings-and-index-for-index-path.ts +67 -0
- package/src/server/utility/get-start-of-month.ts +11 -0
- package/src/server/utility/get-start-of-week.ts +12 -0
- package/src/server/utility/get-start-of-year.ts +12 -0
- package/src/server/utility/get-weekday-name.ts +24 -0
- package/src/server/utility/increment-date.ts +15 -0
- package/src/server/utility/is-index-path.ts +5 -0
- package/src/server/utility/key-to-date.ts +25 -0
- package/src/server/utility/month-has-week-containing-date.ts +13 -0
- package/src/server/utility/month-to-date.ts +28 -0
- package/src/server/utility/month-to-path.ts +10 -0
- package/src/server/utility/months-are-equal.ts +8 -0
- package/src/server/utility/parse-index-path.ts +23 -0
- package/src/server/utility/path-is-date.ts +13 -0
- package/src/server/utility/path-to-date.ts +24 -0
- package/src/server/utility/subtract-days.ts +7 -0
- package/src/server/utility/validate-month.ts +10 -0
- package/src/server/utility/validate-page.ts +46 -0
- package/src/server/utility/validate-path.ts +9 -0
- package/src/server/utility/validate-url.ts +12 -0
- package/src/server/utility/week-greater-than.ts +10 -0
- package/src/server/utility/week-to-date.ts +8 -0
- package/src/server/utility/week-to-path.ts +12 -0
- package/src/server/utility/weeks-are-equal.ts +8 -0
- package/src/server/utility/year-to-date.ts +26 -0
- package/src/server/utility/year-to-path.ts +7 -0
- package/src/server/utility/years-are-equal.ts +8 -0
- package/src/server.ts +140 -0
- package/src/test.ts +195 -0
- package/src/type/account-settings.ts +9 -0
- package/src/type/account.ts +11 -0
- package/src/type/action/add-block.ts +74 -0
- package/src/type/action/complete-block.ts +10 -0
- package/src/type/action/delete-block.ts +11 -0
- package/src/type/action/demote-block.ts +9 -0
- package/src/type/action/edit-block.ts +11 -0
- package/src/type/action/promote-block.ts +9 -0
- package/src/type/action.ts +9 -0
- package/src/type/block/audio.ts +8 -0
- package/src/type/block/background.ts +10 -0
- package/src/type/block/directory.ts +18 -0
- package/src/type/block/ephemeral.ts +9 -0
- package/src/type/block/folder.ts +14 -0
- package/src/type/block/header.ts +11 -0
- package/src/type/block/image.ts +8 -0
- package/src/type/block/link.ts +12 -0
- package/src/type/block/list.ts +24 -0
- package/src/type/block/multi-column.ts +10 -0
- package/src/type/block/note.ts +9 -0
- package/src/type/block/todo.ts +10 -0
- package/src/type/block/whitespace.ts +9 -0
- package/src/type/block-metadata.ts +14 -0
- package/src/type/block.ts +18 -0
- package/src/type/day.ts +5 -0
- package/src/type/field-definition.ts +8 -0
- package/src/type/field-value.ts +5 -0
- package/src/type/file.ts +6 -0
- package/src/type/month.ts +5 -0
- package/src/type/page.ts +8 -0
- package/src/type/price.ts +11 -0
- package/src/type/resource.ts +5 -0
- package/src/type/runtime-config.ts +13 -0
- package/src/type/server-settings.ts +17 -0
- package/src/type/toast.ts +8 -0
- package/src/type/week.ts +5 -0
- package/src/type/year.ts +5 -0
- package/test/unit/index.ts +11 -0
- package/test/unit/server/operation/promote-block.ts +84 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
enum ConnectionStatus {
|
|
2
|
+
NOT_CONNECTED = 'not_connected',
|
|
3
|
+
SEARCHING = 'searching',
|
|
4
|
+
CONNECTING = 'connecting',
|
|
5
|
+
CONNECTED = 'connected',
|
|
6
|
+
NOT_AUTHENTICATED = 'not_authenticated',
|
|
7
|
+
AUTHENTICATING = 'authenticating',
|
|
8
|
+
AUTHENTICATED = 'authenticated',
|
|
9
|
+
DISCONNECTING = 'disconnecting',
|
|
10
|
+
DISCONNECTED = 'disconnected',
|
|
11
|
+
FAILED_TO_CONNECT = 'failed_to_connect'
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default ConnectionStatus;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// Wondering why this is here instead of in lib/http?
|
|
2
|
+
// That module has some dependencies that rely on these status codes.
|
|
3
|
+
// This way, those dependencies can import lib/network instead.
|
|
4
|
+
|
|
5
|
+
enum HttpStatusCode {
|
|
6
|
+
SUCCESS = 200,
|
|
7
|
+
CREATED = 201,
|
|
8
|
+
ACCEPTED = 202,
|
|
9
|
+
NON_AUTHORITATIVE_INFORMATION = 203,
|
|
10
|
+
NO_CONTENT = 204,
|
|
11
|
+
RESET_CONTENT = 205,
|
|
12
|
+
PARTIAL_CONTENT = 206,
|
|
13
|
+
MULTI_STATUS = 207,
|
|
14
|
+
ALREADY_REPORTED = 208,
|
|
15
|
+
|
|
16
|
+
IM_USED = 226,
|
|
17
|
+
|
|
18
|
+
MULTIPLE_CHOICES = 300,
|
|
19
|
+
MOVED_PERMANENTLY = 301,
|
|
20
|
+
REDIRECT = 302,
|
|
21
|
+
SEE_OTHER = 303,
|
|
22
|
+
NOT_MODIFIED = 304,
|
|
23
|
+
USE_PROXY = 305,
|
|
24
|
+
SWITCH_PROXY = 306,
|
|
25
|
+
TEMPORARY_REDIRECT = 307,
|
|
26
|
+
PERMANENT_REDIRECT = 308,
|
|
27
|
+
|
|
28
|
+
BAD_REQUEST = 400,
|
|
29
|
+
UNAUTHORIZED = 401,
|
|
30
|
+
PAYMENT_REQUIRED = 402,
|
|
31
|
+
FORBIDDEN = 403,
|
|
32
|
+
FILE_NOT_FOUND = 404,
|
|
33
|
+
METHOD_NOT_ALLOWED = 405,
|
|
34
|
+
NOT_ACCEPTABLE = 406,
|
|
35
|
+
PROXY_AUTHENTICATION_REQUIRED = 407,
|
|
36
|
+
REQUEST_TIMEOUT = 408,
|
|
37
|
+
CONFLICT = 409,
|
|
38
|
+
GONE = 410,
|
|
39
|
+
LENGTH_REQUIRED = 411,
|
|
40
|
+
PRECONDITION_FAILED = 412,
|
|
41
|
+
PAYLOAD_TOO_LARGE = 413,
|
|
42
|
+
URI_TOO_LONG = 414,
|
|
43
|
+
UNSUPPORTED_MEDIA_TYPE = 415,
|
|
44
|
+
RANGE_NOT_SATISFIABLE = 416,
|
|
45
|
+
EXPECTATION_FAILED = 417,
|
|
46
|
+
|
|
47
|
+
MISDIRECTED_REQUEST = 421,
|
|
48
|
+
UNPROCESSABLE_ENTITY = 422,
|
|
49
|
+
LOCKED = 423,
|
|
50
|
+
FAILED_DEPENDENCY = 424,
|
|
51
|
+
|
|
52
|
+
UPGRADE_REQUIRED = 426,
|
|
53
|
+
|
|
54
|
+
PRECONDITION_REQUIRED = 428,
|
|
55
|
+
TOO_MANY_REQUESTS = 429,
|
|
56
|
+
|
|
57
|
+
HEADER_FIELDS_TOO_LARGE = 431,
|
|
58
|
+
|
|
59
|
+
LEGALLY_UNAVAILABLE = 451,
|
|
60
|
+
|
|
61
|
+
SERVER_ERROR = 500,
|
|
62
|
+
NOT_IMPLEMENTED = 501,
|
|
63
|
+
BAD_GATEWAY = 502,
|
|
64
|
+
SERVICE_UNAVAILABLE = 503,
|
|
65
|
+
GATEWAY_TIMEOUT = 504,
|
|
66
|
+
HTTP_VERSION_NOT_SUPPORTED = 505,
|
|
67
|
+
VARIANT_ALSO_NEGOTIATES = 506,
|
|
68
|
+
INSUFFICIENT_STORAGE = 507,
|
|
69
|
+
LOOP_DETECTED = 508,
|
|
70
|
+
|
|
71
|
+
NOT_EXTENDED = 510,
|
|
72
|
+
NETWORK_AUTHENTICATION_REQUIRED = 511
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export default HttpStatusCode;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
interface Listener {
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
|
+
(...args: any[]): void;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
interface ListenerMap {
|
|
7
|
+
[event: string]: Listener[];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
abstract class EventEmitter {
|
|
11
|
+
private listener_map: ListenerMap;
|
|
12
|
+
|
|
13
|
+
public constructor() {
|
|
14
|
+
this.listener_map = {};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
public on(event: string, listener: Listener): void {
|
|
18
|
+
const listeners = this.getListenersForEvent(event);
|
|
19
|
+
|
|
20
|
+
listeners.push(listener);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public removeListener(event: string, listener: Listener): void {
|
|
24
|
+
const listeners = this.getListenersForEvent(event);
|
|
25
|
+
const index = listeners.indexOf(listener);
|
|
26
|
+
|
|
27
|
+
if (index === -1) {
|
|
28
|
+
throw new Error(
|
|
29
|
+
`Could not find listener in list of listeners for event: ${event}`
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
listeners.splice(index, 1);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public removeAllListeners(event: string): void {
|
|
37
|
+
delete this.listener_map[event];
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
protected emit(event: string, value?: unknown): void {
|
|
41
|
+
const listeners = this.getListenersForEvent(event);
|
|
42
|
+
|
|
43
|
+
listeners.forEach((listener) => {
|
|
44
|
+
listener(value);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
private getListenersForEvent(event: string): Listener[] {
|
|
49
|
+
const listener_map = this.getListenerMap();
|
|
50
|
+
|
|
51
|
+
if (listener_map[event] === undefined) {
|
|
52
|
+
listener_map[event] = [];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return listener_map[event];
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
private getListenerMap(): ListenerMap {
|
|
59
|
+
return this.listener_map;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export default EventEmitter;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export {default as NetworkProtocol} from 'lib/network/enum/network-protocol';
|
|
2
|
+
export {default as HttpStatusCode} from 'lib/network/enum/http-status-code';
|
|
3
|
+
export {default as ConnectionStatus} from 'lib/network/enum/connection-status';
|
|
4
|
+
export {default as getProtocolFromUrl} from 'lib/network/utility/get-protocol-from-url';
|
|
5
|
+
export {default as EventEmitter} from 'lib/network/event-emitter';
|
|
6
|
+
export {default as Socket} from 'lib/network/interface/socket';
|
|
7
|
+
export {default as SocketOptions} from 'lib/network/type/socket-options';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import SocketOptions from 'lib/network/type/socket-options';
|
|
2
|
+
|
|
3
|
+
interface DataHandler {
|
|
4
|
+
(data: Buffer): void;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
interface ErrorHandler {
|
|
8
|
+
(error: Error): void;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
interface EndHandler {
|
|
12
|
+
(): void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
interface ConnectHandler {
|
|
16
|
+
(): void;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface Socket {
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
21
|
+
remoteAddress?: string;
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
23
|
+
readyState?: 'closed' | 'opening' | 'open' | 'readOnly' | 'writeOnly';
|
|
24
|
+
connecting: boolean;
|
|
25
|
+
pending?: boolean;
|
|
26
|
+
|
|
27
|
+
on(event: 'data', handler: DataHandler): void;
|
|
28
|
+
on(event: 'error', handler: ErrorHandler): void;
|
|
29
|
+
on(event: 'end', handler: EndHandler): void;
|
|
30
|
+
on(event: 'connect', handler: ConnectHandler): void;
|
|
31
|
+
|
|
32
|
+
removeListener(event: 'data', handler: DataHandler): void;
|
|
33
|
+
removeListener(event: 'error', handler: ErrorHandler): void;
|
|
34
|
+
removeListener(event: 'end', handler: EndHandler): void;
|
|
35
|
+
|
|
36
|
+
write(message: string): void;
|
|
37
|
+
end(): void;
|
|
38
|
+
destroy(): void;
|
|
39
|
+
connect(options: SocketOptions): void;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export default Socket;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import NetworkProtocol from 'lib/network/enum/network-protocol';
|
|
2
|
+
|
|
3
|
+
function getProtocolFromUrl(url: string): NetworkProtocol {
|
|
4
|
+
const match = url.match(/^([^:]+):/);
|
|
5
|
+
|
|
6
|
+
if (match === null) {
|
|
7
|
+
throw new Error(`No protocol found on URL: ${url}`);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const protocol = match[1];
|
|
11
|
+
|
|
12
|
+
return protocol as NetworkProtocol;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default getProtocolFromUrl;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import {VerbInflector, getWordsFromIdentifier} from 'lib/grammar';
|
|
2
|
+
|
|
3
|
+
import Operation from 'lib/operation/operation';
|
|
4
|
+
|
|
5
|
+
abstract class AutoLoggingOperation<T> extends Operation<T> {
|
|
6
|
+
protected logRunning(): void {
|
|
7
|
+
const prefix = this.getLogPrefix();
|
|
8
|
+
const verb = this.getRunningVerb();
|
|
9
|
+
const suffix = this.getLogSuffix();
|
|
10
|
+
const logger = this.getLogger();
|
|
11
|
+
|
|
12
|
+
logger.info(`${prefix} ${verb} ${suffix}...`);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
protected logSuccess(result: T): void {
|
|
16
|
+
const prefix = this.getLogPrefix();
|
|
17
|
+
const verb = this.getSuccessVerb();
|
|
18
|
+
const suffix = this.getLogSuffix();
|
|
19
|
+
const logger = this.getLogger();
|
|
20
|
+
|
|
21
|
+
if (result === undefined) {
|
|
22
|
+
logger.success(`${prefix} ${verb} ${suffix}`);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const formatted_result = this.formatResult(result);
|
|
27
|
+
|
|
28
|
+
logger.success(`${prefix} ${verb} ${suffix}: ${formatted_result}`);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
protected logFailure(error: Error): void {
|
|
32
|
+
const prefix = this.getLogPrefix();
|
|
33
|
+
const verb = this.getFailureVerb();
|
|
34
|
+
const suffix = this.getLogSuffix();
|
|
35
|
+
const logger = this.getLogger();
|
|
36
|
+
|
|
37
|
+
logger.error(`${prefix} ${verb} ${suffix}: ${error.message}`);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
protected formatResult(result: T): string {
|
|
41
|
+
if (typeof result === 'string') {
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return JSON.stringify(result);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
protected getLogPrefix(): string {
|
|
49
|
+
return '';
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
private getRunningVerb(): string {
|
|
53
|
+
const verb = this.getVerb();
|
|
54
|
+
const inflector = new VerbInflector(verb);
|
|
55
|
+
|
|
56
|
+
return inflector.toPresentParticiple();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
private getSuccessVerb(): string {
|
|
60
|
+
const verb = this.getVerb();
|
|
61
|
+
const inflector = new VerbInflector(verb);
|
|
62
|
+
|
|
63
|
+
return inflector.toPastTense();
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
private getFailureVerb(): string {
|
|
67
|
+
const verb = this.getVerb();
|
|
68
|
+
const lowercase_verb = verb.toLowerCase();
|
|
69
|
+
|
|
70
|
+
return `Unable to ${lowercase_verb}`;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
private getVerb(): string {
|
|
74
|
+
const words = getWordsFromIdentifier(this.constructor.name);
|
|
75
|
+
const verb = words[0];
|
|
76
|
+
|
|
77
|
+
const first_letter = verb[0];
|
|
78
|
+
const remainder = verb.slice(1);
|
|
79
|
+
const uppercase_letter = first_letter.toUpperCase();
|
|
80
|
+
|
|
81
|
+
return `${uppercase_letter}${remainder}`;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
private getLogSuffix(): string {
|
|
85
|
+
const identifier = this.constructor.name.replace('Operation', '');
|
|
86
|
+
const words = getWordsFromIdentifier(identifier);
|
|
87
|
+
|
|
88
|
+
words.shift();
|
|
89
|
+
|
|
90
|
+
return words.join(' ').toLowerCase();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export default AutoLoggingOperation;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Operation from 'lib/operation/operation';
|
|
2
|
+
|
|
3
|
+
abstract class SilentOperation<T> extends Operation<T> {
|
|
4
|
+
protected logRunning(): void {
|
|
5
|
+
// Noop.
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
protected logSuccess(_result: T): void {
|
|
9
|
+
// Noop.
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
protected logFailure(_error: Error): void {
|
|
13
|
+
// Noop.
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default SilentOperation;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import Logger from 'lib/logger';
|
|
2
|
+
import ExecutionContext, {Session} from 'lib/execution-context';
|
|
3
|
+
|
|
4
|
+
abstract class BaseOperation<T> {
|
|
5
|
+
protected logger: Logger | undefined;
|
|
6
|
+
private execution_context: ExecutionContext | undefined;
|
|
7
|
+
|
|
8
|
+
public constructor(execution_context?: ExecutionContext) {
|
|
9
|
+
this.execution_context = execution_context;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
public async perform(): Promise<T> {
|
|
13
|
+
this.logRunning();
|
|
14
|
+
|
|
15
|
+
try {
|
|
16
|
+
const result = await this.performInternal();
|
|
17
|
+
|
|
18
|
+
this.logSuccess(result);
|
|
19
|
+
|
|
20
|
+
return result;
|
|
21
|
+
} catch (error) {
|
|
22
|
+
this.logFailure(error as Error);
|
|
23
|
+
|
|
24
|
+
throw error;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public hasExecutionContext(): boolean {
|
|
29
|
+
return this.execution_context !== undefined;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
protected getSession(): Session {
|
|
33
|
+
const execution_context = this.getExecutionContext();
|
|
34
|
+
const session = execution_context.getSession();
|
|
35
|
+
|
|
36
|
+
if (session === undefined) {
|
|
37
|
+
throw new Error('Tried to read session, but it was not set');
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return session;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
protected hasSession(): boolean {
|
|
44
|
+
if (!this.hasExecutionContext()) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const execution_context = this.getExecutionContext();
|
|
49
|
+
const session = execution_context.getSession();
|
|
50
|
+
|
|
51
|
+
return session !== undefined;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
protected getExecutionContext(): ExecutionContext {
|
|
55
|
+
if (this.execution_context === undefined) {
|
|
56
|
+
throw new Error('Tried to read request context, but it was not set');
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return this.execution_context;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
protected getLogger(): Logger {
|
|
63
|
+
if (this.hasExecutionContext()) {
|
|
64
|
+
return this.getExecutionContext().getLogger();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (this.logger === undefined) {
|
|
68
|
+
this.logger = new Logger();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return this.logger;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
protected abstract performInternal(): Promise<T>;
|
|
75
|
+
protected abstract logRunning(): void;
|
|
76
|
+
protected abstract logSuccess(result: T): void;
|
|
77
|
+
protected abstract logFailure(error: Error): void;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export default BaseOperation;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
throw new Error('Not implemented');
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
enum PosixErrorCode {
|
|
2
|
+
EPERM = 'EPERM', // Operation not permitted
|
|
3
|
+
ENOENT = 'ENOENT', // No such file or directory
|
|
4
|
+
ESRCH = 'ESRCH', // No such process
|
|
5
|
+
EINTR = 'EINTR', // Interrupted system call
|
|
6
|
+
EIO = 'EIO', // I/O error
|
|
7
|
+
ENXIO = 'ENXIO', // No such device or address
|
|
8
|
+
E2BIG = 'E2BIG', // Arg list too long
|
|
9
|
+
ENOEXEC = 'ENOEXEC', // Exec format error
|
|
10
|
+
EBADF = 'EBADF', // Bad file number
|
|
11
|
+
ECHILD = 'ECHILD', // No child processes
|
|
12
|
+
EAGAIN = 'EAGAIN', // Try again
|
|
13
|
+
ENOMEM = 'ENOMEM', // Out of memory
|
|
14
|
+
EACCES = 'EACCES', // Permission denied
|
|
15
|
+
EFAULT = 'EFAULT', // Bad address
|
|
16
|
+
ENOTBLK = 'ENOTBLK', // Block device required
|
|
17
|
+
EBUSY = 'EBUSY', // Device or resource busy
|
|
18
|
+
EEXIST = 'EEXIST', // File exists
|
|
19
|
+
EXDEV = 'EXDEV', // Cross-device link
|
|
20
|
+
ENODEV = 'ENODEV', // No such device
|
|
21
|
+
ENOTDIR = 'ENOTDIR', // Not a directory
|
|
22
|
+
EISDIR = 'EISDIR', // Is a directory
|
|
23
|
+
EINVAL = 'EINVAL', // Invalid argument
|
|
24
|
+
ENFILE = 'ENFILE', // File table overflow
|
|
25
|
+
EMFILE = 'EMFILE', // Too many open files
|
|
26
|
+
ENOTTY = 'ENOTTY', // Inappropriate I/O control operation
|
|
27
|
+
ETXTBSY = 'ETXTBSY', // Text file busy
|
|
28
|
+
EFBIG = 'EFBIG', // File too large
|
|
29
|
+
ENOSPC = 'ENOSPC', // No space left on device
|
|
30
|
+
ESPIPE = 'ESPIPE', // Illegal seek
|
|
31
|
+
EROFS = 'EROFS', // Read-only file system
|
|
32
|
+
EMLINK = 'EMLINK', // Too many links
|
|
33
|
+
EPIPE = 'EPIPE', // Broken pipe
|
|
34
|
+
EDOM = 'EDOM', // Math argument out of domain of function
|
|
35
|
+
ERANGE = 'ERANGE', // Math result not representable
|
|
36
|
+
EDEADLK = 'EDEADLK', // Deadlock occurred
|
|
37
|
+
ENAMETOOLONG = 'ENAMETOOLONG', // File / directory name too long
|
|
38
|
+
ENOLCK = 'ENOLCK', // No record locks available
|
|
39
|
+
ENOSYS = 'ENOSYS', // System function not implemented
|
|
40
|
+
ENOTEMPTY = 'ENOTEMPTY', // The specified directory is not empty
|
|
41
|
+
ELOOP = 'ELOOP', // Too many symbolic links encountered
|
|
42
|
+
EWOULDBLOCK = 'EWOULDBLOCK', // Operation would block
|
|
43
|
+
ENOMSG = 'ENOMSG', // No message of desired type found
|
|
44
|
+
EIDRM = 'EIDRM', // Identifier was removed
|
|
45
|
+
ECHRNG = 'ECHRNG', // Channel number out of range
|
|
46
|
+
EL2NSYNC = 'EL2NSYNC', // Level 2 not synchronized
|
|
47
|
+
EL3HLT = 'EL3HLT', // Level 3 halted
|
|
48
|
+
EL3RST = 'EL3RST', // Level 3 reset
|
|
49
|
+
ELNRNG = 'ELNRNG', // Link number out of range
|
|
50
|
+
EUNATCH = 'EUNATCH', // Protocol driver not attached
|
|
51
|
+
ENOCSI = 'ENOCSI', // No CSI structure available
|
|
52
|
+
EL2HLT = 'EL2HLT', // Level 2 halted
|
|
53
|
+
EBADE = 'EBADE', // Invalid exchange
|
|
54
|
+
EBADR = 'EBADR', // Invalid request descriptor
|
|
55
|
+
EXFULL = 'EXFULL', // Exchange full
|
|
56
|
+
ENOANO = 'ENOANO', // No anode
|
|
57
|
+
EBADRQC = 'EBADRQC', // Invalid request code
|
|
58
|
+
EBADSLT = 'EBADSLT', // Invalid slot
|
|
59
|
+
EDEADLOCK = 'EDEADLOCK', // It's a deadlock, amigo
|
|
60
|
+
EBFONT = 'EBFONT', // Bad font file format
|
|
61
|
+
ENOSTR = 'ENOSTR', // Device is not a stream
|
|
62
|
+
ENODATA = 'ENODATA', // No data available
|
|
63
|
+
ETIME = 'ETIME', // Timer expired
|
|
64
|
+
ENOSR = 'ENOSR', // Out of stream resources
|
|
65
|
+
ENONET = 'ENONET', // Machine is not on the network
|
|
66
|
+
ENOPKG = 'ENOPKG', // Package is not installed
|
|
67
|
+
EREMOTE = 'EREMOTE', // Object is remote
|
|
68
|
+
ENOLINK = 'ENOLINK', // Link has been severed
|
|
69
|
+
EADV = 'EADV', // Advertise error
|
|
70
|
+
ESRMNT = 'ESRMNT', // Srmount error
|
|
71
|
+
ECOMM = 'ECOMM', // Communication error on send
|
|
72
|
+
EPROTO = 'EPROTO', // Protocol error
|
|
73
|
+
EMULTIHOP = 'EMULTIHOP', // Multihop attempted
|
|
74
|
+
EDOTDOT = 'EDOTDOT', // RFS-specific error
|
|
75
|
+
EBADMSG = 'EBADMSG', // Not a data message
|
|
76
|
+
EOVERFLOW = 'EOVERFLOW', // Valu etoo large for defined data type
|
|
77
|
+
ENOTUNIQ = 'ENOTUNIQ', // Name not unique on network
|
|
78
|
+
EBADFD = 'EBADFD', // File descriptor in bad state
|
|
79
|
+
EREMCHG = 'EREMCHG', // Remote address changed
|
|
80
|
+
ELIBACC = 'ELIBACC', // Cannot access a needed shared library
|
|
81
|
+
ELIBBAD = 'ELIBBAD', // Accessing a corrupted shared library
|
|
82
|
+
ELIBSCN = 'ELIBSCN', // .lib section in a.out corrupted
|
|
83
|
+
ELIBMAX = 'ELIBMAX', // Attempting to link in too many shared libraries
|
|
84
|
+
ELIBEXEC = 'ELIBEXEC', // Cannot exec a shared library directly
|
|
85
|
+
EILSEQ = 'EILSEQ', // Illegal byte sequence
|
|
86
|
+
ERESTART = 'ERESTART', // Interrupted system call should be restarted
|
|
87
|
+
ESTRPIPE = 'ESTRPIPE', // Streams pipe error
|
|
88
|
+
EUSERS = 'EUSERS', // Too many users
|
|
89
|
+
ENOTSOCK = 'ENOTSOCK', // Socket operation on non-socket
|
|
90
|
+
EDESTADDRREQ = 'EDESTADDRREQ', // Destination address required
|
|
91
|
+
EMSGSIZE = 'EMSGSIZE', // Message too long
|
|
92
|
+
EPROTOTYPE = 'EPROTOTYPE', // Protocol wrong type for socket
|
|
93
|
+
ENOPROTOOPT = 'ENOPROTOOPT', // Protocol not available
|
|
94
|
+
EPROTONOSUPPORT = 'EPROTONOSUPPORT', // Protocol not supported
|
|
95
|
+
ESOCKTNOSUPPORT = 'ESOCKTNOSUPPORT', // Socket type not supported
|
|
96
|
+
EOPNOTSUPP = 'EOPNOTSUPP', // Operation not supported on transport endpoint
|
|
97
|
+
EPFNOSUPPORT = 'EPFNOSUPPORT', // Protocol family not supported
|
|
98
|
+
EAFNOSUPPORT = 'EAFNOSUPPORT', // Address family not supported by protocol
|
|
99
|
+
EADDRINUSE = 'EADDRINUSE', // Address (or port) already in use
|
|
100
|
+
EADDRNOTAVAIL = 'EADDRNOTAVAIL', // Unable to assign the specified network address
|
|
101
|
+
ENETDOWN = 'ENETDOWN', // Network is down
|
|
102
|
+
ENETUNREACH = 'ENETUNREACH', // Network is unreachable
|
|
103
|
+
ENETRESET = 'ENETRESET', // Network dropped connection because of reset
|
|
104
|
+
ECONNABORTED = 'ECONNABORTED', // Software caused connection abort
|
|
105
|
+
ECONNRESET = 'ECONNRESET', // Connection reset by peer
|
|
106
|
+
ENOBUFS = 'ENOBUFS', // No buffer space available
|
|
107
|
+
EISCONN = 'EISCONN', // Transport endpoint is already connected
|
|
108
|
+
ENOTCONN = 'ENOTCONN', // Transport endpoint is not connected
|
|
109
|
+
ESHUTDOWN = 'ESHUTDOWN', // Cannot send after transport endpoint shutdown
|
|
110
|
+
ETOOMANYREFS = 'ETOOMANYREFS', // Too many references; cannot splice
|
|
111
|
+
ETIMEDOUT = 'ETIMEDOUT', // Connection timed out
|
|
112
|
+
ECONNREFUSED = 'ECONNREFUSED', // Connection refused
|
|
113
|
+
EHOSTDOWN = 'EHOSTDOWN', // Host is down
|
|
114
|
+
EHOSTUNREACH = 'EHOSTUNREACH', // No route to host
|
|
115
|
+
EALREADY = 'EALREADY', // Operation already in progress
|
|
116
|
+
EINPROGRESS = 'EINPROGRESS', // Operation now in progress
|
|
117
|
+
ESTALE = 'ESTALE', // Stale file handle
|
|
118
|
+
EUCLEAN = 'EUCLEAN', // Structure needs cleaning
|
|
119
|
+
ENOTNAM = 'ENOTNAM', // Not a XENIX named type file
|
|
120
|
+
ENAVAIL = 'ENAVAIL', // No XENIX semaphores available
|
|
121
|
+
EISNAM = 'EISNAM', // Is a named type file
|
|
122
|
+
EREMOTEIO = 'EREMOTEIO', // Remote I/O error
|
|
123
|
+
EDQUOT = 'EDQUOT', // Quota exceeded
|
|
124
|
+
ENOMEDIUM = 'ENOMEDIUM', // No medium found
|
|
125
|
+
EMEDIUMTYPE = 'EMEDIUMTYPE', // Wrong medium type
|
|
126
|
+
ECANCELED = 'ECANCELED', // Operation canceled
|
|
127
|
+
ENOKEY = 'ENOKEY', // Required key not available
|
|
128
|
+
EKEYEXPIRED = 'EKEYEXPIRED', // Key has expired
|
|
129
|
+
EKEYREVOKED = 'EKEYREVOKED', // Key has been revoked
|
|
130
|
+
EKEYREJECTED = 'EKEYREJECTED', // Key was rejected by service
|
|
131
|
+
EOWNERDEAD = 'EOWNERDEAD', // Owner died
|
|
132
|
+
ENOTRECOVERABLE = 'ENOTRECOVERABLE', // State not recoverable
|
|
133
|
+
ERFKILL = 'ERFKILL', // Operation not possible due to RF-kill
|
|
134
|
+
EHWPOISON = 'EHWPOISON', // Memory page has hardware error
|
|
135
|
+
ENOTSUP = 'ENOTSUP' // Not supported
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export default PosixErrorCode;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// From `kill -l`.
|
|
2
|
+
|
|
3
|
+
enum ProcessSignal {
|
|
4
|
+
// Abort signal from abort command:
|
|
5
|
+
SIGABRT = 'SIGABRT',
|
|
6
|
+
// Timer signal from alarm command:
|
|
7
|
+
SIGALRM = 'SIGALRM',
|
|
8
|
+
// Bus error (bad memory access):
|
|
9
|
+
SIGBUS = 'SIGBUS',
|
|
10
|
+
// Child stopped or terminated:
|
|
11
|
+
SIGCHLD = 'SIGCHLD',
|
|
12
|
+
// Continue if stopped:
|
|
13
|
+
SIGCONT = 'SIGCONT',
|
|
14
|
+
// Floating-point exception:
|
|
15
|
+
SIGFPE = 'SIGFPE',
|
|
16
|
+
// Hangup detected on controlling terminal or death of controlling process:
|
|
17
|
+
SIGHUP = 'SIGHUP',
|
|
18
|
+
// Illegal Instruction:
|
|
19
|
+
SIGILL = 'SIGILL',
|
|
20
|
+
// A synonym for SIGPWR:
|
|
21
|
+
SIGINFO = 'SIGINFO',
|
|
22
|
+
// Interrupt from keyboard:
|
|
23
|
+
SIGINT = 'SIGINT',
|
|
24
|
+
// I/O now possible:
|
|
25
|
+
SIGIO = 'SIGIO',
|
|
26
|
+
// IOT trap. A synonym for SIGABRT:
|
|
27
|
+
SIGIOT = 'SIGIOT',
|
|
28
|
+
// Kill signal:
|
|
29
|
+
SIGKILL = 'SIGKILL',
|
|
30
|
+
// Broken pipe; write to pipe with no readers:
|
|
31
|
+
SIGPIPE = 'SIGPIPE',
|
|
32
|
+
// Pollable event:
|
|
33
|
+
SIGPOLL = 'SIGPOLL',
|
|
34
|
+
// Profiling timer expired:
|
|
35
|
+
SIGPROF = 'SIGPROF',
|
|
36
|
+
// Power failure:
|
|
37
|
+
SIGPWR = 'SIGPWR',
|
|
38
|
+
// Quit from keyboard:
|
|
39
|
+
SIGQUIT = 'SIGQUIT',
|
|
40
|
+
// Invalid memory reference:
|
|
41
|
+
SIGSEGV = 'SIGSEGV',
|
|
42
|
+
// Stop process:
|
|
43
|
+
SIGSTOP = 'SIGSTOP',
|
|
44
|
+
// Stop typed at terminal:
|
|
45
|
+
SIGTSTP = 'SIGTSTP',
|
|
46
|
+
// Bad spell:
|
|
47
|
+
SIGSYS = 'SIGSYS',
|
|
48
|
+
// Termination signal:
|
|
49
|
+
SIGTERM = 'SIGTERM',
|
|
50
|
+
// Trace/breakpoint trap:
|
|
51
|
+
SIGTRAP = 'SIGTRAP',
|
|
52
|
+
// Terminal input for background process:
|
|
53
|
+
SIGTTIN = 'SIGTTIN',
|
|
54
|
+
// Terminal output for background process:
|
|
55
|
+
SIGTTOU = 'SIGTTOU',
|
|
56
|
+
// Synonymous with SIGSYS:
|
|
57
|
+
SIGUNUSED = 'SIGUNUSED',
|
|
58
|
+
// Urgent condition on socket:
|
|
59
|
+
SIGURG = 'SIGURG',
|
|
60
|
+
// Virtual alarm clock:
|
|
61
|
+
SIGVTALRM = 'SIGVTALRM',
|
|
62
|
+
// CPU time limit exceeded:
|
|
63
|
+
SIGXCPU = 'SIGXCPU',
|
|
64
|
+
// File size limit exceeded:
|
|
65
|
+
SIGXFSZ = 'SIGXFSZ'
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export default ProcessSignal;
|