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 f5607a7 commit 9ede235
Show file tree
Hide file tree
Showing 35 changed files with 1,053 additions and 402 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, 2023, 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 | [[email protected]][mle-js-types-233] for Oracle 23.3 <br/> [[email protected]][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/> [[email protected]][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 | [[email protected]][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 "[email protected]"
[mle-js-types-233]: https://www.npmjs.com/package/mle-js/v/23.3.0 "[email protected]"
[mle-js-types-232]: https://www.npmjs.com/package/mle-js/v/23.2.0 "[email protected]"
[mle-js-types-213]: https://www.npmjs.com/package/mle-js/v/21.3.1 "[email protected]"
Expand Down
2 changes: 1 addition & 1 deletion declarations/mle-encode-base64/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2023, 2023, Oracle and/or its affiliates.
Copyright (c) 2023, 2024, Oracle and/or its affiliates.

The Universal Permissive License (UPL), Version 1.0

Expand Down
2 changes: 1 addition & 1 deletion declarations/mle-encode-base64/README.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Please consult install instructions and documentation on https://oracle-samples.github.io/mle-modules.
Please consult the installation instructions and documentation on https://oracle-samples.github.io/mle-modules.
2 changes: 1 addition & 1 deletion declarations/mle-encode-base64/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"description": "MLE functions to work with base64 encoded data",
"types": "mle-encode-base64.d.ts",
"author": "Oracle",
"version": "23.3.0",
"version": "23.4.0",
"license": "UPL-1.0",
"homepage": "https://oracle-samples.github.io/mle-modules",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion declarations/mle-js-bindings/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2017, 2023, Oracle and/or its affiliates.
Copyright (c) 2017, 2024, Oracle and/or its affiliates.

The Universal Permissive License (UPL), Version 1.0

Expand Down
2 changes: 1 addition & 1 deletion declarations/mle-js-bindings/README.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Please consult install instructions and documentation on https://oracle-samples.github.io/mle-modules.
Please consult the installation instructions and documentation on https://oracle-samples.github.io/mle-modules.
26 changes: 24 additions & 2 deletions declarations/mle-js-bindings/mle-js-bindings.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
Copyright (c) 2019, 2022, Oracle and/or its affiliates.
Copyright (c) 2019, 2024, Oracle and/or its affiliates.
The Universal Permissive License (UPL), Version 1.0
Expand Down Expand Up @@ -44,6 +44,10 @@ export declare enum JSTypes {
DATE = 2,
/** Type Boolean */
BOOLEAN = 3,
/**
* In 21c, indices 4 and 5 had been used for BLOB and CLOB which do, however,
* not make sense for mle-js-oracledb and have therefore been removed in 23ai.
*/
/** Type Object */
OBJECT = 6,
/** UINT8ARRAY */
Expand All @@ -65,7 +69,25 @@ export declare enum JSTypes {
/** Type OracleBLOB */
ORACLE_BLOB = 15,
/** Type DbTypeJson */
DB_TYPE_JSON = 16
DB_TYPE_JSON = 16,
/**
* Type Int8Array
*
* @since Oracle 23.4
*/
INT8ARRAY = 17,
/**
* Type Float32Array
*
* @since Oracle 23.4
*/
FLOAT32ARRAY = 18,
/**
* Type Float64Array
*
* @since Oracle 23.4
*/
FLOAT64ARRAY = 19
}
/**
* Import a value exported from PL/SQL into the current context
Expand Down
2 changes: 1 addition & 1 deletion declarations/mle-js-bindings/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"description": "MLE Bindings for Oracle Database DBMS_MLE",
"types": "mle-js-bindings.d.ts",
"author": "Oracle",
"version": "23.3.0",
"version": "23.4.0",
"license": "UPL-1.0",
"homepage": "https://oracle-samples.github.io/mle-modules",
"repository": {
Expand Down
35 changes: 35 additions & 0 deletions declarations/mle-js-encodings/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Copyright (c) 2023, 2024, Oracle and/or its affiliates.

The Universal Permissive License (UPL), Version 1.0

Subject to the condition set forth below, permission is hereby granted to any
person obtaining a copy of this software, associated documentation and/or data
(collectively the "Software"), free of charge and under any and all copyright
rights in the Software, and any and all patent rights owned or freely
licensable by each licensor hereunder covering either (i) the unmodified
Software as contributed to or provided by such licensor, or (ii) the Larger
Works (as defined below), to deal in both

(a) the Software, and
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
one is included with the Software (each a "Larger Work" to which the Software
is contributed by such licensors),

without restriction, including without limitation the rights to copy, create
derivative works of, display, perform, and distribute the Software and make,
use, sell, offer for sale, import, export, have made, and have sold the
Software and the Larger Work(s), and to sublicense the foregoing rights on
either these or other terms.

This license is subject to the following condition:
The above copyright notice and either this complete permission notice or at
a minimum a reference to the UPL must be included in all copies or
substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
1 change: 1 addition & 0 deletions declarations/mle-js-encodings/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Please consult the installation instructions and documentation on https://oracle-samples.github.io/mle-modules.
108 changes: 108 additions & 0 deletions declarations/mle-js-encodings/decoder.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
/**
Copyright (c) 2023, 2024, Oracle and/or its affiliates.
The Universal Permissive License (UPL), Version 1.0
Subject to the condition set forth below, permission is hereby granted to any
person obtaining a copy of this software, associated documentation and/or data
(collectively the "Software"), free of charge and under any and all copyright
rights in the Software, and any and all patent rights owned or freely
licensable by each licensor hereunder covering either (i) the unmodified
Software as contributed to or provided by such licensor, or (ii) the Larger
Works (as defined below), to deal in both
(a) the Software, and
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
one is included with the Software (each a "Larger Work" to which the Software
is contributed by such licensors),
without restriction, including without limitation the rights to copy, create
derivative works of, display, perform, and distribute the Software and make,
use, sell, offer for sale, import, export, have made, and have sold the
Software and the Larger Work(s), and to sublicense the foregoing rights on
either these or other terms.
This license is subject to the following condition:
The above copyright notice and either this complete permission notice or at
a minimum a reference to the UPL must be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
interface TextDecoderCommon {
readonly encoding: string;
readonly fatal: boolean;
readonly ignoreBOM: boolean;
}
/**
* Options given to the constructor of TextDecoder.
*/
export type TextDecoderOptions = {
/**
* Controls the error mode of the decoder.
* If set to true an exception is thrown on invalid byte sequences.
* Otherwise, the replacement code point will be used.
* Default: false.
*/
fatal?: boolean;
/**
* Controls whether the BOM (Byte Order Mark) should be checked.
* If set to true the BOM will not be checked/removed.
* Default: false.
*/
ignoreBOM?: boolean;
};
/**
* Options given to decode.
*/
export type TextDecodeOptions = {
/**
* Controls whether the IO queue should be flushed between calls.
* If set to true the corresponding TextDecoder instance may retain state from the previous call.
* Used for decoding text in chunks.
* Default: false.
*/
stream?: boolean;
};
export type AllowSharedBufferSource = ArrayBuffer | SharedArrayBuffer | ArrayBufferView;
/**
* TextDecoder represents a decoder for specific text encoding, such UTF-8, UTF-16, etc.
* A decoder takes as input bytes and returns as output code points.
*/
export declare class TextDecoder implements TextDecoderCommon {
#private;
/**
* The name of the decoder that will be used.
*/
readonly encoding: string;
/**
* Error mode can be either be 'replacement' (replace code point) or 'fatal' (throw exception),
*/
readonly fatal: boolean;
/**
* Whether the byte order mark will be ignored.
*/
readonly ignoreBOM: boolean;
/**
* Create a new TextDecoder instance.
* Currently, the following encodings are supported: utf-8, utf-16be,
* utf-16le, utf-16 (alias to utf-16le).
* @param label the name of the encoding to be used when decoding. Default: 'utf-8'.
* @param options the decoder options (an object with properties fatal and ignoreBOM).
*/
constructor(label?: string, options?: TextDecoderOptions);
/**
* Decodes the given bytes with the method given in encoding.
* @param input the bytes to decode, given as an ArrayBuffer or ArrayBufferView.
* @param options object with the stream property. stream specifies whether data will follow in subsequent calls.
* Should be set to true if processing data in chunks.
*/
decode(input?: AllowSharedBufferSource, options?: TextDecodeOptions): string;
}
export {};
78 changes: 78 additions & 0 deletions declarations/mle-js-encodings/encoder.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
/**
Copyright (c) 2023, 2024, Oracle and/or its affiliates.
The Universal Permissive License (UPL), Version 1.0
Subject to the condition set forth below, permission is hereby granted to any
person obtaining a copy of this software, associated documentation and/or data
(collectively the "Software"), free of charge and under any and all copyright
rights in the Software, and any and all patent rights owned or freely
licensable by each licensor hereunder covering either (i) the unmodified
Software as contributed to or provided by such licensor, or (ii) the Larger
Works (as defined below), to deal in both
(a) the Software, and
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
one is included with the Software (each a "Larger Work" to which the Software
is contributed by such licensors),
without restriction, including without limitation the rights to copy, create
derivative works of, display, perform, and distribute the Software and make,
use, sell, offer for sale, import, export, have made, and have sold the
Software and the Larger Work(s), and to sublicense the foregoing rights on
either these or other terms.
This license is subject to the following condition:
The above copyright notice and either this complete permission notice or at
a minimum a reference to the UPL must be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
interface TextEncoderCommon {
readonly encoding: string;
}
/**
* The object returned by encodeInto.
* It reports on the progress of the encoder.
*/
export type TextEncoderEncodeIntoResult = {
/** The number of UTF-16 *code points* that were read. */
read: number;
/** The number of bytes written to the given buffer. */
written: number;
};
/**
* TextEncoder takes code points and returns UTF-8 bytes.
*/
export declare class TextEncoder implements TextEncoderCommon {
/**
* Always returns 'utf-8'.
*/
readonly encoding = "utf-8";
/**
* Create a new instance of TextEncoder.
*/
constructor();
/**
* Encode the given string into a byte array.
*
* @param input the string to encode.
*/
encode(input?: string): Uint8Array;
/**
* Encode the given string and store the results in the given buffer.
*
* @param input the string to encode.
* @param destination the buffer where the encoded string should be stored.
* @returns an object describing the progress made in this call (code points read and bytes written).
*/
encodeInto(input: string, destination: Uint8Array): TextEncoderEncodeIntoResult;
}
export {};
Loading

0 comments on commit 9ede235

Please sign in to comment.