Skip to content

Commit

Permalink
Release 23.4
Browse files Browse the repository at this point in the history
  • Loading branch information
lucasbraun committed May 2, 2024
1 parent d3817dc commit ec25619
Show file tree
Hide file tree
Showing 224 changed files with 4,270 additions and 1,021 deletions.
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2017, 2022, Oracle and/or its affiliates.
Copyright (c) 2017, 2024, Oracle and/or its affiliates.

The Universal Permissive License (UPL), Version 1.0

Expand Down
28 changes: 18 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,16 @@ This module contains code to work with base64-encoded data.

[Continue reading...][mle-encode-base64]

### MLE text encoding API (mle-js-encodings)
This module is a partial implementation of the Encoding API that ships with the database as of version 23.4.
By default, TextDecoder and TextEncoder are available in the global namespace and can be used directly.

[Continue reading...][mle-js-encodings]


### Oracle Database
Oracle Database is the worlds most popular database. Oracle Database 23c, the next Generation Oracle Database, is now available as a Base Database Service delivering the most complete and simple converged database for developers looking to build new microservice, graph, document and relational applications.
Oracle Database 23c Free is also available for free as a simple download for ease of use.
Oracle Database is the world's most popular database.
Oracle Database 23ai, the next Generation Oracle Database, is now available as a Base Database Service delivering the most complete and simple converged database for developers looking to build new microservice, graph, document and relational applications. Oracle Database 23ai Free is also available for free as a simple download for ease of use.

[Continue reading...][3]

Expand All @@ -85,7 +91,7 @@ The following table shows which version of module documentation and declarations

| Oracle Database | Declarations | Documentation |
| ---------------- | ------------ | ------------- |
| 23c | [mle-js@23.3.0][mle-js-types-233] for Oracle 23.3 <br/> [mle-js@23.2.0][mle-js-types-232] for Oracle 23.2 - Free | **[mle-js (23c)][mle-js]** <br/> [mle-js-oracledb (23c)][mle-js-oracledb] <br/> [mle-js-bindings (23c)][mle-js-bindings] <br/> [mle-js-plsqltypes (23c)][mle-js-plsqltypes] <br/> [mle-js-fetch (23c)][mle-js-fetch] <br/> [mle-encode-base64 (23c)][mle-encode-base64]|
| 23ai | [mle-js@23.4.0][mle-js-types-234] for Oracle 23.4 <br/> [mle-js@23.3.0][mle-js-types-233] for Oracle 23.3 <br/> [mle-js@23.2.0][mle-js-types-232] for Oracle 23.2 - Free | **[mle-js (23ai)][mle-js]** <br/> [mle-js-oracledb (23ai)][mle-js-oracledb] <br/> [mle-js-bindings (23ai)][mle-js-bindings] <br/> [mle-js-plsqltypes (23ai)][mle-js-plsqltypes] <br/> [mle-js-fetch (23ai)][mle-js-fetch] <br/> [mle-encode-base64 (23ai)][mle-encode-base64]|
| 21c | [mle-js@21.3.1][mle-js-types-213] | [mle-js-oracledb (21c)][mle-js-oracledb-21c] <br/> [mle-js-bindings (21c)][mle-js-bindings-21c] <br/> [mle-js-plsqltypes (21c)][mle-js-plsqltypes-21c] |

## Examples
Expand Down Expand Up @@ -124,19 +130,21 @@ Before submitting a pull request, please [review our contribution guide](./CONTR
Please consult the [security guide](./SECURITY.md) for our responsible security vulnerability disclosure process.

## License
Copyright (c) 2022, 2023 Oracle and/or its affiliates.
Copyright (c) 2022, 2024, Oracle and/or its affiliates.

Released under the Universal Permissive License v1.0 as shown at <https://oss.oracle.com/licenses/upl/>.

[mle-js]: https://oracle-samples.github.io/mle-modules/docs/mle-js/23c "mle-js 23c"
[mle-js-oracledb]: https://oracle-samples.github.io/mle-modules/docs/mle-js-oracledb/23c "mle-js-oracledb 23c"
[mle-js-bindings]: https://oracle-samples.github.io/mle-modules/docs/mle-js-bindings/23c "mle-js-bindings 23c"
[mle-js-plsqltypes]: https://oracle-samples.github.io/mle-modules/docs/mle-js-plsqltypes/23c "mle-js-plsqltypes 23c"
[mle-js-fetch]: https://oracle-samples.github.io/mle-modules/docs/mle-js-fetch/23c "mle-js-fetch 23c"
[mle-encode-base64]: https://oracle-samples.github.io/mle-modules/docs/mle-encode-base64/23c "mle-encode-base64 23c"
[mle-js]: https://oracle-samples.github.io/mle-modules/docs/mle-js/23ai "mle-js 23ai"
[mle-js-oracledb]: https://oracle-samples.github.io/mle-modules/docs/mle-js-oracledb/23ai "mle-js-oracledb 23ai"
[mle-js-bindings]: https://oracle-samples.github.io/mle-modules/docs/mle-js-bindings/23ai "mle-js-bindings 23ai"
[mle-js-plsqltypes]: https://oracle-samples.github.io/mle-modules/docs/mle-js-plsqltypes/23ai "mle-js-plsqltypes 23ai"
[mle-js-fetch]: https://oracle-samples.github.io/mle-modules/docs/mle-js-fetch/23ai "mle-js-fetch 23ai"
[mle-encode-base64]: https://oracle-samples.github.io/mle-modules/docs/mle-encode-base64/23ai "mle-encode-base64 23ai"
[mle-js-encodings]: https://oracle-samples.github.io/mle-modules/docs/mle-js-encodings/23ai "mle-js-encodings 23ai"
[mle-js-oracledb-21c]: https://oracle-samples.github.io/mle-modules/docs/mle-js-oracledb/21c "mle-js-oracledb 21c"
[mle-js-bindings-21c]: https://oracle-samples.github.io/mle-modules/docs/mle-js-bindings/21c "mle-js-bindings 21c"
[mle-js-plsqltypes-21c]: https://oracle-samples.github.io/mle-modules/docs/mle-js-plsqltypes/21c "mle-js-plsqltypes 21c"
[mle-js-types-234]: https://www.npmjs.com/package/mle-js/v/23.4.0 "mle-js@23.4.0"
[mle-js-types-233]: https://www.npmjs.com/package/mle-js/v/23.3.0 "mle-js@23.3.0"
[mle-js-types-232]: https://www.npmjs.com/package/mle-js/v/23.2.0 "mle-js@23.2.0"
[mle-js-types-213]: https://www.npmjs.com/package/mle-js/v/21.3.1 "mle-js@21.3.1"
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
--dark-hl-6: #DCDCAA;
--light-hl-7: #098658;
--dark-hl-7: #B5CEA8;
--light-hl-8: #008000;
--dark-hl-8: #6A9955;
--light-hl-9: #000000;
--dark-hl-9: #C8C8C8;
--light-hl-8: #000000;
--dark-hl-8: #C8C8C8;
--light-hl-9: #008000;
--dark-hl-9: #6A9955;
--light-hl-10: #267F99;
--dark-hl-10: #4EC9B0;
--light-hl-11: #CD3131;
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
58 changes: 58 additions & 0 deletions docs/mle-encode-base64/23ai/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>MLE functions to work with base64 encoded data (mle-encode-base64)</title><meta name="description" content="Documentation for MLE functions to work with base64 encoded data (mle-encode-base64)"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script async src="assets/search.js" id="search-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
<div class="tsd-toolbar-contents container">
<div class="table-cell" id="tsd-search" data-base=".">
<div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div>
<div class="field">
<div id="tsd-toolbar-links"></div></div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">MLE functions to work with base64 encoded data (mle-encode-base64)</a></div>
<div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
<div class="container container-main">
<div class="col-8 col-content">
<div class="tsd-page-title">
<h2>MLE functions to work with base64 encoded data (mle-encode-base64)</h2></div>
<div class="tsd-panel tsd-typography">
<a href="#mle-base64-encoding" id="mle-base64-encoding" style="color: inherit; text-decoration: none;">
<h1>MLE Base64 Encoding</h1>
</a>
<p>This module contains code to work with base64-encoded data.</p>

<a href="#getting-started" id="getting-started" style="color: inherit; text-decoration: none;">
<h2>Getting Started</h2>
</a>
<p>In order to use the base64 module, it needs to be imported first.
If executed as a <em>snippet in <code>DBMS_MLE</code>, a dynamic import</em> needs to be used and wrapped within an async function:</p>
<pre><code class="language-JavaScript"><span class="hl-0">const</span><span class="hl-1"> {</span><span class="hl-5">encode</span><span class="hl-1">: </span><span class="hl-2">base64encode</span><span class="hl-1">, </span><span class="hl-5">decode</span><span class="hl-1">: </span><span class="hl-2">base64decode</span><span class="hl-1">} = </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-0">import</span><span class="hl-1">(</span><span class="hl-4">&#39;mle-encode-base64&#39;</span><span class="hl-1">);</span>
</code></pre>
<p>If used within <em>MLE modules, the regular ECMAScript module import</em> syntax can be used:</p>
<pre><code class="language-JavaScript"><span class="hl-3">import</span><span class="hl-1"> {</span><span class="hl-5">encode</span><span class="hl-1"> </span><span class="hl-3">as</span><span class="hl-1"> </span><span class="hl-5">base64encode</span><span class="hl-1">, </span><span class="hl-5">decode</span><span class="hl-1"> </span><span class="hl-3">as</span><span class="hl-1"> </span><span class="hl-5">base64decode</span><span class="hl-1">} </span><span class="hl-3">from</span><span class="hl-1"> </span><span class="hl-4">&#39;mle-encode-base64&#39;</span><span class="hl-1">;</span>
</code></pre>
<p>The following example shows how to encode an ASCII string and to decode it again into an ArrayBuffer which can then be converted back into a string using <code>asciiBytesToString</code>:</p>
<pre><code class="language-JavaScript"><span class="hl-0">function</span><span class="hl-1"> </span><span class="hl-6">asciiBytesToString</span><span class="hl-1">(</span><span class="hl-5">bytesBuffer</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-0">let</span><span class="hl-1"> </span><span class="hl-5">charCodes</span><span class="hl-1"> = </span><span class="hl-0">new</span><span class="hl-1"> </span><span class="hl-6">Uint8Array</span><span class="hl-1">(</span><span class="hl-5">bytesBuffer</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-0">let</span><span class="hl-1"> </span><span class="hl-5">result</span><span class="hl-1"> = </span><span class="hl-4">&quot;&quot;</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-5">charCodes</span><span class="hl-1">.</span><span class="hl-6">forEach</span><span class="hl-1">((</span><span class="hl-5">char</span><span class="hl-1">) </span><span class="hl-0">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-5">result</span><span class="hl-1"> += </span><span class="hl-5">String</span><span class="hl-1">.</span><span class="hl-6">fromCharCode</span><span class="hl-1">(</span><span class="hl-5">char</span><span class="hl-1">);</span><br/><span class="hl-1"> });</span><br/><span class="hl-1"> </span><span class="hl-3">return</span><span class="hl-1"> </span><span class="hl-5">result</span><span class="hl-1">;</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">testInput</span><span class="hl-1"> = </span><span class="hl-4">&#39;hello&#39;</span><span class="hl-1">;</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">encoded</span><span class="hl-1"> = </span><span class="hl-6">base64encode</span><span class="hl-1">(</span><span class="hl-5">input</span><span class="hl-1">);</span><br/><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-4">&#39;encoded: &#39;</span><span class="hl-1"> + </span><span class="hl-5">encoded</span><span class="hl-1">);</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">decodedBytes</span><span class="hl-1"> = </span><span class="hl-6">base64decode</span><span class="hl-1">(</span><span class="hl-5">encoded</span><span class="hl-1">);</span><br/><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-4">&#39;decoded into an ArrayBuffer?: &#39;</span><span class="hl-1"> + (</span><span class="hl-5">decodedBytes</span><span class="hl-1"> </span><span class="hl-0">instanceof</span><span class="hl-1"> </span><span class="hl-10">ArrayBuffer</span><span class="hl-1">));</span><br/><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-2">stringFromBytes</span><span class="hl-1"> = </span><span class="hl-6">asciiBytesToString</span><span class="hl-1">(</span><span class="hl-5">decodedBytes</span><span class="hl-1">);</span><br/><span class="hl-5">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-4">&#39;string from decoded: &#39;</span><span class="hl-1"> + </span><span class="hl-5">stringFromBytes</span><span class="hl-1">);</span>
</code></pre>
</div></div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<div class="tsd-navigation settings">
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Settings</h3></summary>
<div class="tsd-accordion-details">
<div class="tsd-filter-visibility">
<h4 class="uppercase">Member Visibility</h4><form>
<ul id="tsd-filter-options">
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></form></div>
<div class="tsd-theme-toggle">
<h4 class="uppercase">Theme</h4><select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
<nav class="tsd-navigation primary">
<details class="tsd-index-accordion" open><summary class="tsd-accordion-summary">
<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg> Modules</h3></summary>
<div class="tsd-accordion-details">
<ul>
<li class="current selected"><a href="modules.html">MLE functions to work with base64 encoded data (mle-<wbr/>encode-<wbr/>base64)</a>
<ul></ul></li></ul></div></details></nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul>
<li class="tsd-kind-function"><a href="functions/decode.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-64-path"></rect><path d="M9.39 16V7.24H14.55V8.224H10.446V11.128H14.238V12.112H10.47V16H9.39Z" fill="var(--color-text)" id="icon-64-text"></path></svg>decode</a></li>
<li class="tsd-kind-function"><a href="functions/encode.html" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-64-path"></use><use href="#icon-64-text"></use></svg>encode</a></li></ul></nav></div></div>
<div class="overlay"></div><script src="assets/main.js"></script></body></html>
File renamed without changes.
Loading

0 comments on commit ec25619

Please sign in to comment.