@openclaw/feishu 2026.6.8 → 2026.6.9
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/dist/api.js +79 -24
- package/dist/{channel-DwygSth-.js → channel-DF8jqwhL.js} +4 -4
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.runtime-CrqKcXaU.js → channel.runtime-C4eAoxAR.js} +5 -5
- package/dist/{client-BhMNZBJD.js → client-BwgAJuvo.js} +14 -9
- package/dist/{drive-8o3Omlnd.js → drive-djUl8IRC.js} +16 -3
- package/dist/{monitor-_1eNsUVp.js → monitor-UZJ1bdoG.js} +2 -2
- package/dist/{monitor.account-BhoLA1Y0.js → monitor.account-Bc_8o_b6.js} +95 -51
- package/dist/{monitor.state-QV66eUNA.js → monitor.state-CGL1occz.js} +1 -1
- package/dist/{probe-BjKRV7em.js → probe-EyeJQb3C.js} +1 -1
- package/dist/{send-B3kteMF8.js → send-CMyK8JGr.js} +33 -25
- package/dist/setup-api.js +1 -1
- package/node_modules/@protobufjs/aspromise/LICENSE +26 -0
- package/node_modules/@protobufjs/aspromise/README.md +13 -0
- package/node_modules/{protobufjs/src/util/aspromise.d.ts → @protobufjs/aspromise/index.d.ts} +13 -13
- package/node_modules/{protobufjs/src/util/aspromise.js → @protobufjs/aspromise/index.js} +52 -52
- package/node_modules/@protobufjs/aspromise/package.json +21 -0
- package/node_modules/@protobufjs/aspromise/tests/index.js +130 -0
- package/node_modules/@protobufjs/base64/LICENSE +26 -0
- package/node_modules/@protobufjs/base64/README.md +19 -0
- package/node_modules/{protobufjs/src/util/base64.d.ts → @protobufjs/base64/index.d.ts} +32 -32
- package/node_modules/{protobufjs/src/util/base64.js → @protobufjs/base64/index.js} +139 -146
- package/node_modules/@protobufjs/base64/package.json +21 -0
- package/node_modules/@protobufjs/base64/tests/index.js +46 -0
- package/node_modules/@protobufjs/codegen/LICENSE +26 -0
- package/node_modules/@protobufjs/codegen/README.md +49 -0
- package/node_modules/{protobufjs/src/util/codegen.d.ts → @protobufjs/codegen/index.d.ts} +31 -31
- package/node_modules/{protobufjs/src/util/codegen.js → @protobufjs/codegen/index.js} +112 -113
- package/node_modules/@protobufjs/codegen/package.json +13 -0
- package/node_modules/@protobufjs/codegen/tests/index.js +13 -0
- package/node_modules/@protobufjs/eventemitter/CHANGELOG.md +8 -0
- package/node_modules/@protobufjs/eventemitter/LICENSE +26 -0
- package/node_modules/@protobufjs/eventemitter/README.md +22 -0
- package/node_modules/{protobufjs/src/util/eventemitter.d.ts → @protobufjs/eventemitter/index.d.ts} +45 -45
- package/node_modules/{protobufjs/src/util/eventemitter.js → @protobufjs/eventemitter/index.js} +86 -86
- package/node_modules/@protobufjs/eventemitter/package.json +21 -0
- package/node_modules/@protobufjs/eventemitter/tests/index.js +83 -0
- package/node_modules/@protobufjs/fetch/CHANGELOG.md +8 -0
- package/node_modules/@protobufjs/fetch/LICENSE +26 -0
- package/node_modules/@protobufjs/fetch/README.md +13 -0
- package/node_modules/{protobufjs/src/util/fetch.d.ts → @protobufjs/fetch/index.d.ts} +56 -56
- package/node_modules/{protobufjs/src/util/fetch.js → @protobufjs/fetch/index.js} +112 -112
- package/node_modules/@protobufjs/fetch/package.json +27 -0
- package/node_modules/@protobufjs/fetch/tests/data/file.txt +1 -0
- package/node_modules/@protobufjs/fetch/tests/index.js +158 -0
- package/node_modules/@protobufjs/fetch/util/fs.js +11 -0
- package/node_modules/@protobufjs/float/LICENSE +26 -0
- package/node_modules/@protobufjs/float/README.md +102 -0
- package/node_modules/@protobufjs/float/bench/index.js +87 -0
- package/node_modules/@protobufjs/float/bench/suite.js +46 -0
- package/node_modules/{protobufjs/src/util/float.js → @protobufjs/float/index.js} +335 -335
- package/node_modules/@protobufjs/float/package.json +26 -0
- package/node_modules/@protobufjs/float/tests/index.js +100 -0
- package/node_modules/@protobufjs/inquire/CHANGELOG.md +8 -0
- package/node_modules/@protobufjs/inquire/LICENSE +26 -0
- package/node_modules/@protobufjs/inquire/README.md +13 -0
- package/node_modules/{protobufjs/src/util/inquire.d.ts → @protobufjs/inquire/index.d.ts} +10 -10
- package/node_modules/{protobufjs/src/util/inquire.js → @protobufjs/inquire/index.js} +38 -38
- package/node_modules/@protobufjs/inquire/package.json +21 -0
- package/node_modules/@protobufjs/inquire/tests/data/array.js +1 -0
- package/node_modules/@protobufjs/inquire/tests/data/emptyArray.js +1 -0
- package/node_modules/@protobufjs/inquire/tests/data/emptyObject.js +1 -0
- package/node_modules/@protobufjs/inquire/tests/data/object.js +1 -0
- package/node_modules/@protobufjs/inquire/tests/index.js +20 -0
- package/node_modules/@protobufjs/path/LICENSE +26 -0
- package/node_modules/@protobufjs/path/README.md +19 -0
- package/node_modules/{protobufjs/src/util/path.d.ts → @protobufjs/path/index.d.ts} +22 -22
- package/node_modules/{protobufjs/src/util/path.js → @protobufjs/path/index.js} +65 -72
- package/node_modules/@protobufjs/path/package.json +21 -0
- package/node_modules/@protobufjs/path/tests/index.js +60 -0
- package/node_modules/@protobufjs/pool/.npmignore +3 -0
- package/node_modules/@protobufjs/pool/LICENSE +26 -0
- package/node_modules/@protobufjs/pool/README.md +13 -0
- package/node_modules/{protobufjs/src/util/pool.d.ts → @protobufjs/pool/index.d.ts} +32 -32
- package/node_modules/{protobufjs/src/util/pool.js → @protobufjs/pool/index.js} +48 -48
- package/node_modules/@protobufjs/pool/package.json +21 -0
- package/node_modules/@protobufjs/pool/tests/index.js +33 -0
- package/node_modules/@protobufjs/utf8/LICENSE +26 -0
- package/node_modules/@protobufjs/utf8/README.md +20 -0
- package/node_modules/{protobufjs/src/util/utf8.d.ts → @protobufjs/utf8/index.d.ts} +24 -24
- package/node_modules/{protobufjs/src/util/utf8.js → @protobufjs/utf8/index.js} +104 -130
- package/node_modules/@protobufjs/utf8/package.json +21 -0
- package/node_modules/@protobufjs/utf8/tests/data/surrogate_pair_bug.txt +207 -0
- package/node_modules/@protobufjs/utf8/tests/data/utf8.txt +216 -0
- package/node_modules/@protobufjs/utf8/tests/index.js +74 -0
- package/node_modules/@types/node/LICENSE +21 -0
- package/node_modules/@types/node/README.md +15 -0
- package/node_modules/@types/node/assert/strict.d.ts +59 -0
- package/node_modules/@types/node/assert.d.ts +950 -0
- package/node_modules/@types/node/async_hooks.d.ts +711 -0
- package/node_modules/@types/node/buffer.buffer.d.ts +466 -0
- package/node_modules/@types/node/buffer.d.ts +1765 -0
- package/node_modules/@types/node/child_process.d.ts +1366 -0
- package/node_modules/@types/node/cluster.d.ts +432 -0
- package/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
- package/node_modules/@types/node/console.d.ts +93 -0
- package/node_modules/@types/node/constants.d.ts +14 -0
- package/node_modules/@types/node/crypto.d.ts +4058 -0
- package/node_modules/@types/node/dgram.d.ts +537 -0
- package/node_modules/@types/node/diagnostics_channel.d.ts +552 -0
- package/node_modules/@types/node/dns/promises.d.ts +497 -0
- package/node_modules/@types/node/dns.d.ts +876 -0
- package/node_modules/@types/node/domain.d.ts +150 -0
- package/node_modules/@types/node/events.d.ts +1008 -0
- package/node_modules/@types/node/fs/promises.d.ts +1468 -0
- package/node_modules/@types/node/fs.d.ts +4780 -0
- package/node_modules/@types/node/globals.d.ts +150 -0
- package/node_modules/@types/node/globals.typedarray.d.ts +101 -0
- package/node_modules/@types/node/http.d.ts +2147 -0
- package/node_modules/@types/node/http2.d.ts +2485 -0
- package/node_modules/@types/node/https.d.ts +400 -0
- package/node_modules/@types/node/index.d.ts +117 -0
- package/node_modules/@types/node/inspector/promises.d.ts +35 -0
- package/node_modules/@types/node/inspector.d.ts +264 -0
- package/node_modules/@types/node/inspector.generated.d.ts +4406 -0
- package/node_modules/@types/node/module.d.ts +755 -0
- package/node_modules/@types/node/net.d.ts +970 -0
- package/node_modules/@types/node/os.d.ts +498 -0
- package/node_modules/@types/node/package.json +155 -0
- package/node_modules/@types/node/path/posix.d.ts +8 -0
- package/node_modules/@types/node/path/win32.d.ts +8 -0
- package/node_modules/@types/node/path.d.ts +178 -0
- package/node_modules/@types/node/perf_hooks.d.ts +612 -0
- package/node_modules/@types/node/process.d.ts +2204 -0
- package/node_modules/@types/node/punycode.d.ts +89 -0
- package/node_modules/@types/node/querystring.d.ts +139 -0
- package/node_modules/@types/node/quic.d.ts +897 -0
- package/node_modules/@types/node/readline/promises.d.ts +158 -0
- package/node_modules/@types/node/readline.d.ts +507 -0
- package/node_modules/@types/node/repl.d.ts +420 -0
- package/node_modules/@types/node/sea.d.ts +47 -0
- package/node_modules/@types/node/sqlite.d.ts +1068 -0
- package/node_modules/@types/node/stream/consumers.d.ts +114 -0
- package/node_modules/@types/node/stream/iter.d.ts +301 -0
- package/node_modules/@types/node/stream/promises.d.ts +211 -0
- package/node_modules/@types/node/stream/web.d.ts +300 -0
- package/node_modules/@types/node/stream.d.ts +1774 -0
- package/node_modules/@types/node/string_decoder.d.ts +27 -0
- package/node_modules/@types/node/test/reporters.d.ts +59 -0
- package/node_modules/@types/node/test.d.ts +2279 -0
- package/node_modules/@types/node/timers/promises.d.ts +93 -0
- package/node_modules/@types/node/timers.d.ts +149 -0
- package/node_modules/@types/node/tls.d.ts +1193 -0
- package/node_modules/@types/node/trace_events.d.ts +103 -0
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
- package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
- package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +119 -0
- package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +119 -0
- package/node_modules/@types/node/tty.d.ts +225 -0
- package/node_modules/@types/node/url.d.ts +556 -0
- package/node_modules/@types/node/util/types.d.ts +558 -0
- package/node_modules/@types/node/util.d.ts +1677 -0
- package/node_modules/@types/node/v8.d.ts +980 -0
- package/node_modules/@types/node/vm.d.ts +1136 -0
- package/node_modules/@types/node/wasi.d.ts +131 -0
- package/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
- package/node_modules/@types/node/web-globals/blob.d.ts +23 -0
- package/node_modules/@types/node/web-globals/console.d.ts +9 -0
- package/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
- package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
- package/node_modules/@types/node/web-globals/events.d.ts +106 -0
- package/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
- package/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
- package/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
- package/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
- package/node_modules/@types/node/web-globals/performance.d.ts +45 -0
- package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/node_modules/@types/node/web-globals/streams.d.ts +115 -0
- package/node_modules/@types/node/web-globals/timers.d.ts +44 -0
- package/node_modules/@types/node/web-globals/url.d.ts +24 -0
- package/node_modules/@types/node/worker_threads.d.ts +671 -0
- package/node_modules/@types/node/zlib/iter.d.ts +131 -0
- package/node_modules/@types/node/zlib.d.ts +589 -0
- package/node_modules/protobufjs/README.md +556 -263
- package/node_modules/protobufjs/dist/light/protobuf.js +1569 -1919
- package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/dist/minimal/protobuf.js +906 -1132
- package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/dist/protobuf.js +1576 -1993
- package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/ext/descriptor/README.md +70 -3
- package/node_modules/protobufjs/ext/descriptor/index.d.ts +193 -0
- package/node_modules/protobufjs/ext/descriptor/index.js +1185 -1
- package/node_modules/protobufjs/ext/descriptor/test.js +54 -0
- package/node_modules/protobufjs/index.d.ts +720 -834
- package/node_modules/protobufjs/package.json +44 -20
- package/node_modules/protobufjs/src/converter.js +36 -60
- package/node_modules/protobufjs/src/decoder.js +53 -124
- package/node_modules/protobufjs/src/encoder.js +2 -10
- package/node_modules/protobufjs/src/enum.js +3 -8
- package/node_modules/protobufjs/src/field.js +11 -13
- package/node_modules/protobufjs/src/index-light.js +1 -1
- package/node_modules/protobufjs/src/mapfield.js +0 -1
- package/node_modules/protobufjs/src/message.js +11 -5
- package/node_modules/protobufjs/src/method.js +4 -5
- package/node_modules/protobufjs/src/namespace.js +3 -10
- package/node_modules/protobufjs/src/object.js +20 -20
- package/node_modules/protobufjs/src/oneof.js +0 -3
- package/node_modules/protobufjs/src/parse.js +16 -78
- package/node_modules/protobufjs/src/reader.js +31 -136
- package/node_modules/protobufjs/src/reader_buffer.js +3 -24
- package/node_modules/protobufjs/src/root.js +3 -7
- package/node_modules/protobufjs/src/roots.js +1 -1
- package/node_modules/protobufjs/src/service.js +6 -13
- package/node_modules/protobufjs/src/tokenize.js +1 -6
- package/node_modules/protobufjs/src/type.js +30 -44
- package/node_modules/protobufjs/src/typescript.jsdoc +15 -0
- package/node_modules/protobufjs/src/util/minimal.js +12 -36
- package/node_modules/protobufjs/src/util.js +17 -6
- package/node_modules/protobufjs/src/verifier.js +6 -6
- package/node_modules/protobufjs/src/wrappers.js +1 -0
- package/node_modules/protobufjs/src/writer.js +16 -42
- package/node_modules/protobufjs/src/writer_buffer.js +1 -18
- package/node_modules/protobufjs/tsconfig.json +5 -3
- package/node_modules/undici-types/LICENSE +21 -0
- package/node_modules/undici-types/README.md +6 -0
- package/node_modules/undici-types/agent.d.ts +32 -0
- package/node_modules/undici-types/api.d.ts +43 -0
- package/node_modules/undici-types/balanced-pool.d.ts +30 -0
- package/node_modules/undici-types/cache-interceptor.d.ts +179 -0
- package/node_modules/undici-types/cache.d.ts +36 -0
- package/node_modules/undici-types/client-stats.d.ts +15 -0
- package/node_modules/undici-types/client.d.ts +123 -0
- package/node_modules/undici-types/connector.d.ts +36 -0
- package/node_modules/undici-types/content-type.d.ts +21 -0
- package/node_modules/undici-types/cookies.d.ts +30 -0
- package/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
- package/node_modules/undici-types/dispatcher.d.ts +279 -0
- package/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
- package/node_modules/undici-types/errors.d.ts +177 -0
- package/node_modules/undici-types/eventsource.d.ts +66 -0
- package/node_modules/undici-types/fetch.d.ts +211 -0
- package/node_modules/undici-types/formdata.d.ts +108 -0
- package/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/node_modules/undici-types/global-origin.d.ts +7 -0
- package/node_modules/undici-types/h2c-client.d.ts +73 -0
- package/node_modules/undici-types/handlers.d.ts +15 -0
- package/node_modules/undici-types/header.d.ts +160 -0
- package/node_modules/undici-types/index.d.ts +91 -0
- package/node_modules/undici-types/interceptors.d.ts +80 -0
- package/node_modules/undici-types/mock-agent.d.ts +68 -0
- package/node_modules/undici-types/mock-call-history.d.ts +111 -0
- package/node_modules/undici-types/mock-client.d.ts +27 -0
- package/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/node_modules/undici-types/mock-interceptor.d.ts +94 -0
- package/node_modules/undici-types/mock-pool.d.ts +27 -0
- package/node_modules/undici-types/package.json +55 -0
- package/node_modules/undici-types/patch.d.ts +29 -0
- package/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/node_modules/undici-types/pool.d.ts +41 -0
- package/node_modules/undici-types/proxy-agent.d.ts +29 -0
- package/node_modules/undici-types/readable.d.ts +68 -0
- package/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/node_modules/undici-types/retry-handler.d.ts +125 -0
- package/node_modules/undici-types/round-robin-pool.d.ts +41 -0
- package/node_modules/undici-types/snapshot-agent.d.ts +109 -0
- package/node_modules/undici-types/socks5-proxy-agent.d.ts +25 -0
- package/node_modules/undici-types/util.d.ts +18 -0
- package/node_modules/undici-types/utility.d.ts +7 -0
- package/node_modules/undici-types/webidl.d.ts +347 -0
- package/node_modules/undici-types/websocket.d.ts +188 -0
- package/npm-shrinkwrap.json +95 -6
- package/package.json +4 -4
- package/skills/feishu-wiki/SKILL.md +10 -1
- package/node_modules/protobufjs/ext/README.md +0 -81
- package/node_modules/protobufjs/ext/descriptor.d.ts +0 -86
- package/node_modules/protobufjs/ext/descriptor.generated.d.ts +0 -409
- package/node_modules/protobufjs/ext/descriptor.js +0 -1266
- package/node_modules/protobufjs/ext/textformat.d.ts +0 -19
- package/node_modules/protobufjs/ext/textformat.generated.d.ts +0 -11
- package/node_modules/protobufjs/ext/textformat.js +0 -1235
- package/node_modules/protobufjs/google/protobuf/compiler/plugin.json +0 -126
- package/node_modules/protobufjs/google/protobuf/compiler/plugin.proto +0 -47
- package/node_modules/protobufjs/src/typescript.js +0 -25
- /package/node_modules/{protobufjs/src/util/float.d.ts → @protobufjs/float/index.d.ts} +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Copyright (c) 2016, Daniel Wirtz All rights reserved.
|
|
2
|
+
|
|
3
|
+
Redistribution and use in source and binary forms, with or without
|
|
4
|
+
modification, are permitted provided that the following conditions are
|
|
5
|
+
met:
|
|
6
|
+
|
|
7
|
+
* Redistributions of source code must retain the above copyright
|
|
8
|
+
notice, this list of conditions and the following disclaimer.
|
|
9
|
+
* Redistributions in binary form must reproduce the above copyright
|
|
10
|
+
notice, this list of conditions and the following disclaimer in the
|
|
11
|
+
documentation and/or other materials provided with the distribution.
|
|
12
|
+
* Neither the name of its author, nor the names of its contributors
|
|
13
|
+
may be used to endorse or promote products derived from this software
|
|
14
|
+
without specific prior written permission.
|
|
15
|
+
|
|
16
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
17
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
18
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
19
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
20
|
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
21
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
22
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
23
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
24
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
25
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
26
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
@protobufjs/pool
|
|
2
|
+
================
|
|
3
|
+
[](https://www.npmjs.com/package/@protobufjs/pool)
|
|
4
|
+
|
|
5
|
+
A general purpose buffer pool.
|
|
6
|
+
|
|
7
|
+
API
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
* **pool(alloc: `function(size: number): Uint8Array`, slice: `function(this: Uint8Array, start: number, end: number): Uint8Array`, [size=8192: `number`]): `function(size: number): Uint8Array`**<br />
|
|
11
|
+
Creates a pooled allocator.
|
|
12
|
+
|
|
13
|
+
**License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
export = pool;
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* An allocator as used by {@link util.pool}.
|
|
5
|
-
* @typedef PoolAllocator
|
|
6
|
-
* @type {function}
|
|
7
|
-
* @param {number} size Buffer size
|
|
8
|
-
* @returns {Uint8Array} Buffer
|
|
9
|
-
*/
|
|
10
|
-
type PoolAllocator = (size: number) => Uint8Array;
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* A slicer as used by {@link util.pool}.
|
|
14
|
-
* @typedef PoolSlicer
|
|
15
|
-
* @type {function}
|
|
16
|
-
* @param {number} start Start offset
|
|
17
|
-
* @param {number} end End offset
|
|
18
|
-
* @returns {Uint8Array} Buffer slice
|
|
19
|
-
* @this {Uint8Array}
|
|
20
|
-
*/
|
|
21
|
-
type PoolSlicer = (this: Uint8Array, start: number, end: number) => Uint8Array;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* A general purpose buffer pool.
|
|
25
|
-
* @memberof util
|
|
26
|
-
* @function
|
|
27
|
-
* @param {PoolAllocator} alloc Allocator
|
|
28
|
-
* @param {PoolSlicer} slice Slicer
|
|
29
|
-
* @param {number} [size=8192] Slab size
|
|
30
|
-
* @returns {PoolAllocator} Pooled allocator
|
|
31
|
-
*/
|
|
32
|
-
declare function pool(alloc: PoolAllocator, slice: PoolSlicer, size?: number): PoolAllocator;
|
|
1
|
+
export = pool;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* An allocator as used by {@link util.pool}.
|
|
5
|
+
* @typedef PoolAllocator
|
|
6
|
+
* @type {function}
|
|
7
|
+
* @param {number} size Buffer size
|
|
8
|
+
* @returns {Uint8Array} Buffer
|
|
9
|
+
*/
|
|
10
|
+
type PoolAllocator = (size: number) => Uint8Array;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A slicer as used by {@link util.pool}.
|
|
14
|
+
* @typedef PoolSlicer
|
|
15
|
+
* @type {function}
|
|
16
|
+
* @param {number} start Start offset
|
|
17
|
+
* @param {number} end End offset
|
|
18
|
+
* @returns {Uint8Array} Buffer slice
|
|
19
|
+
* @this {Uint8Array}
|
|
20
|
+
*/
|
|
21
|
+
type PoolSlicer = (this: Uint8Array, start: number, end: number) => Uint8Array;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A general purpose buffer pool.
|
|
25
|
+
* @memberof util
|
|
26
|
+
* @function
|
|
27
|
+
* @param {PoolAllocator} alloc Allocator
|
|
28
|
+
* @param {PoolSlicer} slice Slicer
|
|
29
|
+
* @param {number} [size=8192] Slab size
|
|
30
|
+
* @returns {PoolAllocator} Pooled allocator
|
|
31
|
+
*/
|
|
32
|
+
declare function pool(alloc: PoolAllocator, slice: PoolSlicer, size?: number): PoolAllocator;
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
module.exports = pool;
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* An allocator as used by {@link util.pool}.
|
|
6
|
-
* @typedef PoolAllocator
|
|
7
|
-
* @type {function}
|
|
8
|
-
* @param {number} size Buffer size
|
|
9
|
-
* @returns {Uint8Array} Buffer
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* A slicer as used by {@link util.pool}.
|
|
14
|
-
* @typedef PoolSlicer
|
|
15
|
-
* @type {function}
|
|
16
|
-
* @param {number} start Start offset
|
|
17
|
-
* @param {number} end End offset
|
|
18
|
-
* @returns {Uint8Array} Buffer slice
|
|
19
|
-
* @this Uint8Array
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* A general purpose buffer pool.
|
|
24
|
-
* @memberof util
|
|
25
|
-
* @function
|
|
26
|
-
* @param {PoolAllocator} alloc Allocator
|
|
27
|
-
* @param {PoolSlicer} slice Slicer
|
|
28
|
-
* @param {number} [size=8192] Slab size
|
|
29
|
-
* @returns {PoolAllocator} Pooled allocator
|
|
30
|
-
*/
|
|
31
|
-
function pool(alloc, slice, size) {
|
|
32
|
-
var SIZE = size || 8192;
|
|
33
|
-
var MAX = SIZE >>> 1;
|
|
34
|
-
var slab = null;
|
|
35
|
-
var offset = SIZE;
|
|
36
|
-
return function pool_alloc(size) {
|
|
37
|
-
if (size < 1 || size > MAX)
|
|
38
|
-
return alloc(size);
|
|
39
|
-
if (offset + size > SIZE) {
|
|
40
|
-
slab = alloc(SIZE);
|
|
41
|
-
offset = 0;
|
|
42
|
-
}
|
|
43
|
-
var buf = slice.call(slab, offset, offset += size);
|
|
44
|
-
if (offset & 7) // align to 32 bit
|
|
45
|
-
offset = (offset | 7) + 1;
|
|
46
|
-
return buf;
|
|
47
|
-
};
|
|
48
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
module.exports = pool;
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* An allocator as used by {@link util.pool}.
|
|
6
|
+
* @typedef PoolAllocator
|
|
7
|
+
* @type {function}
|
|
8
|
+
* @param {number} size Buffer size
|
|
9
|
+
* @returns {Uint8Array} Buffer
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A slicer as used by {@link util.pool}.
|
|
14
|
+
* @typedef PoolSlicer
|
|
15
|
+
* @type {function}
|
|
16
|
+
* @param {number} start Start offset
|
|
17
|
+
* @param {number} end End offset
|
|
18
|
+
* @returns {Uint8Array} Buffer slice
|
|
19
|
+
* @this {Uint8Array}
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A general purpose buffer pool.
|
|
24
|
+
* @memberof util
|
|
25
|
+
* @function
|
|
26
|
+
* @param {PoolAllocator} alloc Allocator
|
|
27
|
+
* @param {PoolSlicer} slice Slicer
|
|
28
|
+
* @param {number} [size=8192] Slab size
|
|
29
|
+
* @returns {PoolAllocator} Pooled allocator
|
|
30
|
+
*/
|
|
31
|
+
function pool(alloc, slice, size) {
|
|
32
|
+
var SIZE = size || 8192;
|
|
33
|
+
var MAX = SIZE >>> 1;
|
|
34
|
+
var slab = null;
|
|
35
|
+
var offset = SIZE;
|
|
36
|
+
return function pool_alloc(size) {
|
|
37
|
+
if (size < 1 || size > MAX)
|
|
38
|
+
return alloc(size);
|
|
39
|
+
if (offset + size > SIZE) {
|
|
40
|
+
slab = alloc(SIZE);
|
|
41
|
+
offset = 0;
|
|
42
|
+
}
|
|
43
|
+
var buf = slice.call(slab, offset, offset += size);
|
|
44
|
+
if (offset & 7) // align to 32 bit
|
|
45
|
+
offset = (offset | 7) + 1;
|
|
46
|
+
return buf;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@protobufjs/pool",
|
|
3
|
+
"description": "A general purpose buffer pool.",
|
|
4
|
+
"version": "1.1.0",
|
|
5
|
+
"author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/dcodeIO/protobuf.js.git"
|
|
9
|
+
},
|
|
10
|
+
"license": "BSD-3-Clause",
|
|
11
|
+
"main": "index.js",
|
|
12
|
+
"types": "index.d.ts",
|
|
13
|
+
"devDependencies": {
|
|
14
|
+
"istanbul": "^0.4.5",
|
|
15
|
+
"tape": "^4.6.3"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"test": "tape tests/*.js",
|
|
19
|
+
"coverage": "istanbul cover node_modules/tape/bin/tape tests/*.js"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var tape = require("tape");
|
|
2
|
+
|
|
3
|
+
var pool = require("..");
|
|
4
|
+
|
|
5
|
+
if (typeof Uint8Array !== "undefined")
|
|
6
|
+
tape.test("pool", function(test) {
|
|
7
|
+
|
|
8
|
+
var alloc = pool(function(size) { return new Uint8Array(size); }, Uint8Array.prototype.subarray);
|
|
9
|
+
|
|
10
|
+
var buf1 = alloc(0);
|
|
11
|
+
test.equal(buf1.length, 0, "should allocate a buffer of size 0");
|
|
12
|
+
|
|
13
|
+
var buf2 = alloc(1);
|
|
14
|
+
test.equal(buf2.length, 1, "should allocate a buffer of size 1 (initializes slab)");
|
|
15
|
+
|
|
16
|
+
test.notEqual(buf2.buffer, buf1.buffer, "should not reference the same backing buffer if previous buffer had size 0");
|
|
17
|
+
test.equal(buf2.byteOffset, 0, "should allocate at byteOffset 0 when using a new slab");
|
|
18
|
+
|
|
19
|
+
buf1 = alloc(1);
|
|
20
|
+
test.equal(buf1.buffer, buf2.buffer, "should reference the same backing buffer when allocating a chunk fitting into the slab");
|
|
21
|
+
test.equal(buf1.byteOffset, 8, "should align slices to 32 bit and this allocate at byteOffset 8");
|
|
22
|
+
|
|
23
|
+
var buf3 = alloc(4097);
|
|
24
|
+
test.notEqual(buf3.buffer, buf2.buffer, "should not reference the same backing buffer when allocating a buffer larger than half the backing buffer's size");
|
|
25
|
+
|
|
26
|
+
buf2 = alloc(4096);
|
|
27
|
+
test.equal(buf2.buffer, buf1.buffer, "should reference the same backing buffer when allocating a buffer smaller or equal than half the backing buffer's size");
|
|
28
|
+
|
|
29
|
+
buf1 = alloc(4096);
|
|
30
|
+
test.notEqual(buf1.buffer, buf2.buffer, "should not reference the same backing buffer when the slab is exhausted (initializes new slab)");
|
|
31
|
+
|
|
32
|
+
test.end();
|
|
33
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Copyright (c) 2016, Daniel Wirtz All rights reserved.
|
|
2
|
+
|
|
3
|
+
Redistribution and use in source and binary forms, with or without
|
|
4
|
+
modification, are permitted provided that the following conditions are
|
|
5
|
+
met:
|
|
6
|
+
|
|
7
|
+
* Redistributions of source code must retain the above copyright
|
|
8
|
+
notice, this list of conditions and the following disclaimer.
|
|
9
|
+
* Redistributions in binary form must reproduce the above copyright
|
|
10
|
+
notice, this list of conditions and the following disclaimer in the
|
|
11
|
+
documentation and/or other materials provided with the distribution.
|
|
12
|
+
* Neither the name of its author, nor the names of its contributors
|
|
13
|
+
may be used to endorse or promote products derived from this software
|
|
14
|
+
without specific prior written permission.
|
|
15
|
+
|
|
16
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
17
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
18
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
19
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
20
|
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
21
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
22
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
23
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
24
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
25
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
26
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
@protobufjs/utf8
|
|
2
|
+
================
|
|
3
|
+
[](https://www.npmjs.com/package/@protobufjs/utf8)
|
|
4
|
+
|
|
5
|
+
A minimal UTF8 implementation for number arrays.
|
|
6
|
+
|
|
7
|
+
API
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
* **utf8.length(string: `string`): `number`**<br />
|
|
11
|
+
Calculates the UTF8 byte length of a string.
|
|
12
|
+
|
|
13
|
+
* **utf8.read(buffer: `Uint8Array`, start: `number`, end: `number`): `string`**<br />
|
|
14
|
+
Reads UTF8 bytes as a string.
|
|
15
|
+
|
|
16
|
+
* **utf8.write(string: `string`, buffer: `Uint8Array`, offset: `number`): `number`**<br />
|
|
17
|
+
Writes a string as UTF8 bytes.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
**License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Calculates the UTF8 byte length of a string.
|
|
3
|
-
* @param {string} string String
|
|
4
|
-
* @returns {number} Byte length
|
|
5
|
-
*/
|
|
6
|
-
export function length(string: string): number;
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Reads UTF8 bytes as a string.
|
|
10
|
-
* @param {Uint8Array} buffer Source buffer
|
|
11
|
-
* @param {number} start Source start
|
|
12
|
-
* @param {number} end Source end
|
|
13
|
-
* @returns {string} String read
|
|
14
|
-
*/
|
|
15
|
-
export function read(buffer: Uint8Array, start: number, end: number): string;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Writes a string as UTF8 bytes.
|
|
19
|
-
* @param {string} string Source string
|
|
20
|
-
* @param {Uint8Array} buffer Destination buffer
|
|
21
|
-
* @param {number} offset Destination offset
|
|
22
|
-
* @returns {number} Bytes written
|
|
23
|
-
*/
|
|
24
|
-
export function write(string: string, buffer: Uint8Array, offset: number): number;
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the UTF8 byte length of a string.
|
|
3
|
+
* @param {string} string String
|
|
4
|
+
* @returns {number} Byte length
|
|
5
|
+
*/
|
|
6
|
+
export function length(string: string): number;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Reads UTF8 bytes as a string.
|
|
10
|
+
* @param {Uint8Array} buffer Source buffer
|
|
11
|
+
* @param {number} start Source start
|
|
12
|
+
* @param {number} end Source end
|
|
13
|
+
* @returns {string} String read
|
|
14
|
+
*/
|
|
15
|
+
export function read(buffer: Uint8Array, start: number, end: number): string;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Writes a string as UTF8 bytes.
|
|
19
|
+
* @param {string} string Source string
|
|
20
|
+
* @param {Uint8Array} buffer Destination buffer
|
|
21
|
+
* @param {number} offset Destination offset
|
|
22
|
+
* @returns {number} Bytes written
|
|
23
|
+
*/
|
|
24
|
+
export function write(string: string, buffer: Uint8Array, offset: number): number;
|
|
@@ -1,130 +1,104 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* A minimal UTF8 implementation for number arrays.
|
|
5
|
-
* @memberof util
|
|
6
|
-
* @namespace
|
|
7
|
-
*/
|
|
8
|
-
var utf8 = exports,
|
|
9
|
-
replacementChar = "\ufffd";
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Calculates the UTF8 byte length of a string.
|
|
13
|
-
* @param {string} string String
|
|
14
|
-
* @returns {number} Byte length
|
|
15
|
-
*/
|
|
16
|
-
utf8.length = function utf8_length(string) {
|
|
17
|
-
var len = 0,
|
|
18
|
-
c = 0;
|
|
19
|
-
for (var i = 0; i < string.length; ++i) {
|
|
20
|
-
c = string.charCodeAt(i);
|
|
21
|
-
if (c < 128)
|
|
22
|
-
len += 1;
|
|
23
|
-
else if (c < 2048)
|
|
24
|
-
len += 2;
|
|
25
|
-
else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {
|
|
26
|
-
++i;
|
|
27
|
-
len += 4;
|
|
28
|
-
} else
|
|
29
|
-
len += 3;
|
|
30
|
-
}
|
|
31
|
-
return len;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (c1 &
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
utf8.write = function utf8_write(string, buffer, offset) {
|
|
106
|
-
var start = offset,
|
|
107
|
-
c1, // character 1
|
|
108
|
-
c2; // character 2
|
|
109
|
-
for (var i = 0; i < string.length; ++i) {
|
|
110
|
-
c1 = string.charCodeAt(i);
|
|
111
|
-
if (c1 < 128) {
|
|
112
|
-
buffer[offset++] = c1;
|
|
113
|
-
} else if (c1 < 2048) {
|
|
114
|
-
buffer[offset++] = c1 >> 6 | 192;
|
|
115
|
-
buffer[offset++] = c1 & 63 | 128;
|
|
116
|
-
} else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {
|
|
117
|
-
c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);
|
|
118
|
-
++i;
|
|
119
|
-
buffer[offset++] = c1 >> 18 | 240;
|
|
120
|
-
buffer[offset++] = c1 >> 12 & 63 | 128;
|
|
121
|
-
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
122
|
-
buffer[offset++] = c1 & 63 | 128;
|
|
123
|
-
} else {
|
|
124
|
-
buffer[offset++] = c1 >> 12 | 224;
|
|
125
|
-
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
126
|
-
buffer[offset++] = c1 & 63 | 128;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return offset - start;
|
|
130
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A minimal UTF8 implementation for number arrays.
|
|
5
|
+
* @memberof util
|
|
6
|
+
* @namespace
|
|
7
|
+
*/
|
|
8
|
+
var utf8 = exports,
|
|
9
|
+
replacementChar = "\ufffd";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Calculates the UTF8 byte length of a string.
|
|
13
|
+
* @param {string} string String
|
|
14
|
+
* @returns {number} Byte length
|
|
15
|
+
*/
|
|
16
|
+
utf8.length = function utf8_length(string) {
|
|
17
|
+
var len = 0,
|
|
18
|
+
c = 0;
|
|
19
|
+
for (var i = 0; i < string.length; ++i) {
|
|
20
|
+
c = string.charCodeAt(i);
|
|
21
|
+
if (c < 128)
|
|
22
|
+
len += 1;
|
|
23
|
+
else if (c < 2048)
|
|
24
|
+
len += 2;
|
|
25
|
+
else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {
|
|
26
|
+
++i;
|
|
27
|
+
len += 4;
|
|
28
|
+
} else
|
|
29
|
+
len += 3;
|
|
30
|
+
}
|
|
31
|
+
return len;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Reads UTF8 bytes as a string.
|
|
36
|
+
* @param {Uint8Array} buffer Source buffer
|
|
37
|
+
* @param {number} start Source start
|
|
38
|
+
* @param {number} end Source end
|
|
39
|
+
* @returns {string} String read
|
|
40
|
+
*/
|
|
41
|
+
utf8.read = function utf8_read(buffer, start, end) {
|
|
42
|
+
if (end - start < 1) {
|
|
43
|
+
return "";
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
var str = "";
|
|
47
|
+
for (var i = start; i < end;) {
|
|
48
|
+
var t = buffer[i++];
|
|
49
|
+
if (t <= 0x7F) {
|
|
50
|
+
str += String.fromCharCode(t);
|
|
51
|
+
} else if (t >= 0xC0 && t < 0xE0) {
|
|
52
|
+
var c2 = (t & 0x1F) << 6 | buffer[i++] & 0x3F;
|
|
53
|
+
str += c2 >= 0x80 ? String.fromCharCode(c2) : replacementChar;
|
|
54
|
+
} else if (t >= 0xE0 && t < 0xF0) {
|
|
55
|
+
var c3 = (t & 0xF) << 12 | (buffer[i++] & 0x3F) << 6 | buffer[i++] & 0x3F;
|
|
56
|
+
str += c3 >= 0x800 ? String.fromCharCode(c3) : replacementChar;
|
|
57
|
+
} else if (t >= 0xF0) {
|
|
58
|
+
var t2 = (t & 7) << 18 | (buffer[i++] & 0x3F) << 12 | (buffer[i++] & 0x3F) << 6 | buffer[i++] & 0x3F;
|
|
59
|
+
if (t2 < 0x10000 || t2 > 0x10FFFF)
|
|
60
|
+
str += replacementChar;
|
|
61
|
+
else {
|
|
62
|
+
t2 -= 0x10000;
|
|
63
|
+
str += String.fromCharCode(0xD800 + (t2 >> 10));
|
|
64
|
+
str += String.fromCharCode(0xDC00 + (t2 & 0x3FF));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return str;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Writes a string as UTF8 bytes.
|
|
74
|
+
* @param {string} string Source string
|
|
75
|
+
* @param {Uint8Array} buffer Destination buffer
|
|
76
|
+
* @param {number} offset Destination offset
|
|
77
|
+
* @returns {number} Bytes written
|
|
78
|
+
*/
|
|
79
|
+
utf8.write = function utf8_write(string, buffer, offset) {
|
|
80
|
+
var start = offset,
|
|
81
|
+
c1, // character 1
|
|
82
|
+
c2; // character 2
|
|
83
|
+
for (var i = 0; i < string.length; ++i) {
|
|
84
|
+
c1 = string.charCodeAt(i);
|
|
85
|
+
if (c1 < 128) {
|
|
86
|
+
buffer[offset++] = c1;
|
|
87
|
+
} else if (c1 < 2048) {
|
|
88
|
+
buffer[offset++] = c1 >> 6 | 192;
|
|
89
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
90
|
+
} else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {
|
|
91
|
+
c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);
|
|
92
|
+
++i;
|
|
93
|
+
buffer[offset++] = c1 >> 18 | 240;
|
|
94
|
+
buffer[offset++] = c1 >> 12 & 63 | 128;
|
|
95
|
+
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
96
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
97
|
+
} else {
|
|
98
|
+
buffer[offset++] = c1 >> 12 | 224;
|
|
99
|
+
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
100
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return offset - start;
|
|
104
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@protobufjs/utf8",
|
|
3
|
+
"description": "A minimal UTF8 implementation for number arrays.",
|
|
4
|
+
"version": "1.1.1",
|
|
5
|
+
"author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/dcodeIO/protobuf.js.git"
|
|
9
|
+
},
|
|
10
|
+
"license": "BSD-3-Clause",
|
|
11
|
+
"main": "index.js",
|
|
12
|
+
"types": "index.d.ts",
|
|
13
|
+
"devDependencies": {
|
|
14
|
+
"istanbul": "^0.4.5",
|
|
15
|
+
"tape": "^5.0.0"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"test": "tape tests/*.js",
|
|
19
|
+
"coverage": "istanbul cover node_modules/tape/bin/tape tests/*.js"
|
|
20
|
+
}
|
|
21
|
+
}
|