@wener/utils 1.1.17 → 1.1.19
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/cjs/index.cjs +7 -7
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/server.cjs +1 -1
- package/dist/cjs/server.cjs.map +1 -1
- package/dist/esm/index.js +11 -11
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/server.js +1 -1
- package/dist/esm/server.js.map +1 -1
- package/dist/system/index.js +5 -5
- package/dist/system/index.js.map +1 -1
- package/dist/system/server.js +1 -1
- package/dist/system/server.js.map +1 -1
- package/lib/asyncs/createAsyncIterator.js +39 -0
- package/lib/asyncs/createAsyncIterator.js.map +1 -0
- package/lib/asyncs/createLazyPromise.js.map +1 -1
- package/lib/browsers/download.js.map +1 -1
- package/lib/browsers/getFileFromDataTransfer.js.map +1 -1
- package/lib/browsers/loaders.js.map +1 -1
- package/lib/crypto/getNodeCrypto.js.map +1 -1
- package/lib/crypto/getRandomValues.js.map +1 -1
- package/lib/crypto/pem/pem.js.map +1 -1
- package/lib/crypto/ulid.js +4 -1
- package/lib/crypto/ulid.js.map +1 -1
- package/lib/fetch/dumpRequest.js.map +1 -1
- package/lib/fetch/dumpResponse.js.map +1 -1
- package/lib/i18n/createTranslate.js.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/io/ArrayBuffers.js +142 -164
- package/lib/io/ArrayBuffers.js.map +1 -1
- package/lib/io/Buffer.js +5 -6
- package/lib/io/Buffer.js.map +1 -1
- package/lib/libs/ms.js.map +1 -1
- package/lib/modules/parseModuleId.js.map +1 -1
- package/lib/objects/merge/isMergeableObject.js +18 -0
- package/lib/objects/merge/isMergeableObject.js.map +1 -0
- package/lib/objects/merge/merge.js +90 -0
- package/lib/objects/merge/merge.js.map +1 -0
- package/lib/server.js +9 -7
- package/lib/server.js.map +1 -1
- package/lib/servers/crypto/md5.js.map +1 -0
- package/lib/servers/fetch/createFetchWithProxy.js.map +1 -0
- package/lib/servers/fetch/createFetchWithProxyByUndici.js.map +1 -0
- package/lib/servers/{createFetchWithRetry.js → fetch/createFetchWithRetry.js} +1 -1
- package/lib/servers/fetch/createFetchWithRetry.js.map +1 -0
- package/lib/servers/getPackageDir.js +18 -0
- package/lib/servers/getPackageDir.js.map +1 -0
- package/lib/servers/polyfill/polyfillBrowser.js.map +1 -0
- package/lib/servers/{polyfillCrypto.js → polyfill/polyfillCrypto.js} +1 -1
- package/lib/servers/polyfill/polyfillCrypto.js.map +1 -0
- package/lib/servers/polyfill/polyfillFetch.js.map +1 -0
- package/lib/servers/{polyfillJsDom.js → polyfill/polyfillJsDom.js} +1 -1
- package/lib/servers/polyfill/polyfillJsDom.js.map +1 -0
- package/lib/servers/polyfill/polyfillWebSocket.js +16 -0
- package/lib/servers/polyfill/polyfillWebSocket.js.map +1 -0
- package/lib/strings/formatBytes.js.map +1 -1
- package/lib/validations/isUUID.js +1 -1
- package/lib/validations/isUUID.js.map +1 -1
- package/lib/validations/parseTimestamp.js.map +1 -1
- package/package.json +6 -9
- package/src/asyncs/createAsyncIterator.ts +40 -0
- package/src/crypto/hashing.test.ts +4 -1
- package/src/crypto/ulid.test.ts +14 -1
- package/src/crypto/ulid.ts +5 -2
- package/src/index.ts +2 -0
- package/src/langs/hashCode.ts +37 -0
- package/src/logging/Logger.ts +6 -6
- package/src/logging/slog.test.ts +8 -0
- package/src/logging/slog.ts +100 -0
- package/src/objects/merge/index.ts +1 -0
- package/src/objects/merge/isMergeableObject.ts +23 -0
- package/src/objects/merge/merge.test.ts +912 -0
- package/src/objects/merge/merge.ts +140 -0
- package/src/server.ts +9 -7
- package/src/servers/{createFetchWithProxyByNodeFetch.ts → fetch/createFetchWithProxyByNodeFetch.ts} +2 -2
- package/src/servers/{createFetchWithProxyByUndici.ts → fetch/createFetchWithProxyByUndici.ts} +2 -2
- package/src/servers/{createFetchWithRetry.ts → fetch/createFetchWithRetry.ts} +2 -2
- package/src/servers/getPackageDir.ts +16 -0
- package/src/servers/{polyfillCrypto.ts → polyfill/polyfillCrypto.ts} +1 -1
- package/src/servers/{polyfillFetch.ts → polyfill/polyfillFetch.ts} +1 -1
- package/src/servers/{polyfillJsDom.ts → polyfill/polyfillJsDom.ts} +1 -1
- package/src/servers/{polyfillWebSocket.ts → polyfill/polyfillWebSocket.ts} +2 -2
- package/src/validations/isUUID.test.ts +14 -0
- package/src/validations/isUUID.ts +2 -2
- package/lib/servers/createFetchWithProxy.js.map +0 -1
- package/lib/servers/createFetchWithProxyByUndici.js.map +0 -1
- package/lib/servers/createFetchWithRetry.js.map +0 -1
- package/lib/servers/md5.js.map +0 -1
- package/lib/servers/polyfillBrowser.js.map +0 -1
- package/lib/servers/polyfillCrypto.js.map +0 -1
- package/lib/servers/polyfillFetch.js.map +0 -1
- package/lib/servers/polyfillJsDom.js.map +0 -1
- /package/lib/servers/{md5.js → crypto/md5.js} +0 -0
- /package/lib/servers/{createFetchWithProxy.js → fetch/createFetchWithProxy.js} +0 -0
- /package/lib/servers/{createFetchWithProxyByUndici.js → fetch/createFetchWithProxyByUndici.js} +0 -0
- /package/lib/servers/{polyfillBrowser.js → polyfill/polyfillBrowser.js} +0 -0
- /package/lib/servers/{polyfillFetch.js → polyfill/polyfillFetch.js} +0 -0
- /package/src/servers/{md5.ts → crypto/md5.ts} +0 -0
- /package/src/servers/{createFetchWithProxy.ts → fetch/createFetchWithProxy.ts} +0 -0
- /package/src/servers/{polyfillBrowser.test.ts → polyfill/polyfillBrowser.test.ts} +0 -0
- /package/src/servers/{polyfillBrowser.ts → polyfill/polyfillBrowser.ts} +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// https://github.com/TehShrike/is-mergeable-object/blob/master/index.js
|
|
2
|
+
|
|
3
|
+
export function isMergeableObject(value: any) {
|
|
4
|
+
return isNonNullObject(value) && !isSpecial(value);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
function isNonNullObject(value: any) {
|
|
8
|
+
return !!value && typeof value === 'object';
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function isSpecial(value: any) {
|
|
12
|
+
var stringValue = Object.prototype.toString.call(value);
|
|
13
|
+
|
|
14
|
+
return stringValue === '[object RegExp]' || stringValue === '[object Date]' || isReactElement(value);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25
|
|
18
|
+
var canUseSymbol = typeof Symbol === 'function' && Symbol.for;
|
|
19
|
+
var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;
|
|
20
|
+
|
|
21
|
+
function isReactElement(value: any) {
|
|
22
|
+
return value.$$typeof === REACT_ELEMENT_TYPE;
|
|
23
|
+
}
|