2026-06-06 20:12:40 +07:00
parent de84b2bf48
commit 97ac0f71f5
13682 changed files with 1125938 additions and 0 deletions
@@ -0,0 +1,37 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [v1.1.1](https://github.com/ljharb/es-object-atoms/compare/v1.1.0...v1.1.1) - 2025-01-14
### Commits
- [types] `ToObject`: improve types [`cfe8c8a`](https://github.com/ljharb/es-object-atoms/commit/cfe8c8a105c44820cb22e26f62d12ef0ad9715c8)
## [v1.1.0](https://github.com/ljharb/es-object-atoms/compare/v1.0.1...v1.1.0) - 2025-01-14
### Commits
- [New] add `isObject` [`51e4042`](https://github.com/ljharb/es-object-atoms/commit/51e4042df722eb3165f40dc5f4bf33d0197ecb07)
## [v1.0.1](https://github.com/ljharb/es-object-atoms/compare/v1.0.0...v1.0.1) - 2025-01-13
### Commits
- [Dev Deps] update `@ljharb/eslint-config`, `@ljharb/tsconfig`, `@types/tape`, `auto-changelog`, `tape` [`38ab9eb`](https://github.com/ljharb/es-object-atoms/commit/38ab9eb00b62c2f4668644f5e513d9b414ebd595)
- [types] improve types [`7d1beb8`](https://github.com/ljharb/es-object-atoms/commit/7d1beb887958b78b6a728a210a1c8370ab7e2aa1)
- [Tests] replace `aud` with `npm audit` [`25863ba`](https://github.com/ljharb/es-object-atoms/commit/25863baf99178f1d1ad33d1120498db28631907e)
- [Dev Deps] add missing peer dep [`c012309`](https://github.com/ljharb/es-object-atoms/commit/c0123091287e6132d6f4240496340c427433df28)
## v1.0.0 - 2024-03-16
### Commits
- Initial implementation, tests, readme, types [`f1499db`](https://github.com/ljharb/es-object-atoms/commit/f1499db7d3e1741e64979c61d645ab3137705e82)
- Initial commit [`99eedc7`](https://github.com/ljharb/es-object-atoms/commit/99eedc7b5fde38a50a28d3c8b724706e3e4c5f6a)
- [meta] rename repo [`fc851fa`](https://github.com/ljharb/es-object-atoms/commit/fc851fa70616d2d182aaf0bd02c2ed7084dea8fa)
- npm init [`b909377`](https://github.com/ljharb/es-object-atoms/commit/b909377c50049bd0ec575562d20b0f9ebae8947f)
- Only apps should have lockfiles [`7249edd`](https://github.com/ljharb/es-object-atoms/commit/7249edd2178c1b9ddfc66ffcc6d07fdf0d28efc1)
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 5a2f9cde932064665a36a9decc211a74
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/CHANGELOG.md
uploadId: 920982
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Jordan Harband
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall 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.
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 1f5079bb2a1cc4ace94902591dccb773
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/LICENSE
uploadId: 920982
@@ -0,0 +1,63 @@
# es-object-atoms <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
[![github actions][actions-image]][actions-url]
[![coverage][codecov-image]][codecov-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]
[![npm badge][npm-badge-png]][package-url]
ES Object-related atoms: Object, ToObject, RequireObjectCoercible.
## Example
```js
const assert = require('assert');
const $Object = require('es-object-atoms');
const isObject = require('es-object-atoms/isObject');
const ToObject = require('es-object-atoms/ToObject');
const RequireObjectCoercible = require('es-object-atoms/RequireObjectCoercible');
assert.equal($Object, Object);
assert.throws(() => ToObject(null), TypeError);
assert.throws(() => ToObject(undefined), TypeError);
assert.throws(() => RequireObjectCoercible(null), TypeError);
assert.throws(() => RequireObjectCoercible(undefined), TypeError);
assert.equal(isObject(undefined), false);
assert.equal(isObject(null), false);
assert.equal(isObject({}), true);
assert.equal(isObject([]), true);
assert.equal(isObject(function () {}), true);
assert.deepEqual(RequireObjectCoercible(true), true);
assert.deepEqual(ToObject(true), Object(true));
const obj = {};
assert.equal(RequireObjectCoercible(obj), obj);
assert.equal(ToObject(obj), obj);
```
## Tests
Simply clone the repo, `npm install`, and run `npm test`
## Security
Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report.
[package-url]: https://npmjs.org/package/es-object-atoms
[npm-version-svg]: https://versionbadg.es/ljharb/es-object-atoms.svg
[deps-svg]: https://david-dm.org/ljharb/es-object-atoms.svg
[deps-url]: https://david-dm.org/ljharb/es-object-atoms
[dev-deps-svg]: https://david-dm.org/ljharb/es-object-atoms/dev-status.svg
[dev-deps-url]: https://david-dm.org/ljharb/es-object-atoms#info=devDependencies
[npm-badge-png]: https://nodei.co/npm/es-object-atoms.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/es-object-atoms.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/es-object.svg
[downloads-url]: https://npm-stat.com/charts.html?package=es-object-atoms
[codecov-image]: https://codecov.io/gh/ljharb/es-object-atoms/branch/main/graphs/badge.svg
[codecov-url]: https://app.codecov.io/gh/ljharb/es-object-atoms/
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/es-object-atoms
[actions-url]: https://github.com/ljharb/es-object-atoms/actions
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 1f3e4f151f68a4fd888b5a773f0908f4
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/README.md
uploadId: 920982
@@ -0,0 +1,3 @@
declare function RequireObjectCoercible<T extends {}>(value: T, optMessage?: string): T;
export = RequireObjectCoercible;
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 7583b25625bd941b189217e12a26a676
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/RequireObjectCoercible.d.ts
uploadId: 920982
@@ -0,0 +1,11 @@
'use strict';
var $TypeError = require('es-errors/type');
/** @type {import('./RequireObjectCoercible')} */
module.exports = function RequireObjectCoercible(value) {
if (value == null) {
throw new $TypeError((arguments.length > 0 && arguments[1]) || ('Cannot call method on ' + value));
}
return value;
};
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 7342fe7a5b71645f0916a18aceb8414f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/RequireObjectCoercible.js
uploadId: 920982
@@ -0,0 +1,7 @@
declare function ToObject<T extends object>(value: number): Number;
declare function ToObject<T extends object>(value: boolean): Boolean;
declare function ToObject<T extends object>(value: string): String;
declare function ToObject<T extends object>(value: bigint): BigInt;
declare function ToObject<T extends object>(value: T): T;
export = ToObject;
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: c84ddbf7075ea402386085af7ba98ccc
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/ToObject.d.ts
uploadId: 920982
@@ -0,0 +1,10 @@
'use strict';
var $Object = require('./');
var RequireObjectCoercible = require('./RequireObjectCoercible');
/** @type {import('./ToObject')} */
module.exports = function ToObject(value) {
RequireObjectCoercible(value);
return $Object(value);
};
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: d54d6e270e0064c909b017b8cc3a7052
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/ToObject.js
uploadId: 920982
@@ -0,0 +1,3 @@
declare const Object: ObjectConstructor;
export = Object;
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 715f3a1a1856f49eba66bb0029d66ed2
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/index.d.ts
uploadId: 920982
@@ -0,0 +1,4 @@
'use strict';
/** @type {import('.')} */
module.exports = Object;
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 42cdf4c9953204c0eac7e695e597e602
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/index.js
uploadId: 920982
@@ -0,0 +1,3 @@
declare function isObject(x: unknown): x is object;
export = isObject;
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 1e25fcee8f1374ca1b43d1d4b28a67f0
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/isObject.d.ts
uploadId: 920982
@@ -0,0 +1,6 @@
'use strict';
/** @type {import('./isObject')} */
module.exports = function isObject(x) {
return !!x && (typeof x === 'function' || typeof x === 'object');
};
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 89984eab30cf147c69d5916921d081b8
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/isObject.js
uploadId: 920982
@@ -0,0 +1,80 @@
{
"name": "es-object-atoms",
"version": "1.1.1",
"description": "ES Object-related atoms: Object, ToObject, RequireObjectCoercible",
"main": "index.js",
"exports": {
".": "./index.js",
"./RequireObjectCoercible": "./RequireObjectCoercible.js",
"./isObject": "./isObject.js",
"./ToObject": "./ToObject.js",
"./package.json": "./package.json"
},
"sideEffects": false,
"scripts": {
"prepack": "npmignore --auto --commentLines=autogenerated",
"prepublishOnly": "safe-publish-latest",
"prepublish": "not-in-publish || npm run prepublishOnly",
"pretest": "npm run lint",
"test": "npm run tests-only",
"tests-only": "nyc tape 'test/**/*.js'",
"posttest": "npx npm@\">= 10.2\" audit --production",
"prelint": "evalmd README.md",
"lint": "eslint --ext=js,mjs .",
"postlint": "tsc -p . && eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git' | grep -v dist/)",
"version": "auto-changelog && git add CHANGELOG.md",
"postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""
},
"repository": {
"type": "git",
"url": "git+https://github.com/ljharb/es-object-atoms.git"
},
"keywords": [
"javascript",
"ecmascript",
"object",
"toobject",
"coercible"
],
"author": "Jordan Harband <ljharb@gmail.com>",
"license": "MIT",
"bugs": {
"url": "https://github.com/ljharb/es-object-atoms/issues"
},
"homepage": "https://github.com/ljharb/es-object-atoms#readme",
"dependencies": {
"es-errors": "^1.3.0"
},
"devDependencies": {
"@ljharb/eslint-config": "^21.1.1",
"@ljharb/tsconfig": "^0.2.3",
"@types/tape": "^5.8.1",
"auto-changelog": "^2.5.0",
"eclint": "^2.8.1",
"encoding": "^0.1.13",
"eslint": "^8.8.0",
"evalmd": "^0.0.19",
"in-publish": "^2.0.1",
"npmignore": "^0.3.1",
"nyc": "^10.3.2",
"safe-publish-latest": "^2.0.0",
"tape": "^5.9.0",
"typescript": "next"
},
"auto-changelog": {
"output": "CHANGELOG.md",
"template": "keepachangelog",
"unreleased": false,
"commitLimit": false,
"backfillLimit": false,
"hideCredit": true
},
"publishConfig": {
"ignore": [
".github/workflows"
]
},
"engines": {
"node": ">= 0.4"
}
}
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: e514e6dcdd6084ccd81d6794005720d3
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/package.json
uploadId: 920982
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: dc82d0c8810124bee8006347091ee786
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,38 @@
'use strict';
var test = require('tape');
var $Object = require('../');
var isObject = require('../isObject');
var ToObject = require('../ToObject');
var RequireObjectCoercible = require('..//RequireObjectCoercible');
test('errors', function (t) {
t.equal($Object, Object);
// @ts-expect-error
t['throws'](function () { ToObject(null); }, TypeError);
// @ts-expect-error
t['throws'](function () { ToObject(undefined); }, TypeError);
// @ts-expect-error
t['throws'](function () { RequireObjectCoercible(null); }, TypeError);
// @ts-expect-error
t['throws'](function () { RequireObjectCoercible(undefined); }, TypeError);
t.deepEqual(RequireObjectCoercible(true), true);
t.deepEqual(ToObject(true), Object(true));
t.deepEqual(ToObject(42), Object(42));
var f = function () {};
t.equal(ToObject(f), f);
t.equal(isObject(undefined), false);
t.equal(isObject(null), false);
t.equal(isObject({}), true);
t.equal(isObject([]), true);
t.equal(isObject(function () {}), true);
var obj = {};
t.equal(RequireObjectCoercible(obj), obj);
t.equal(ToObject(obj), obj);
t.end();
});
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 8125589e253b54f3fbd89f208d93823b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/test/index.js
uploadId: 920982
@@ -0,0 +1,6 @@
{
"extends": "@ljharb/tsconfig",
"compilerOptions": {
"target": "es5",
},
}
@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 9f352621b3b144cc7bdc1e38668c7924
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 336030
packageName: Synaptic AI Pro - Natural Language Control for Unity
packageVersion: 1.2.23
assetPath: Assets/Synaptic AI Pro/MCPServer/node_modules/es-object-atoms/tsconfig.json
uploadId: 920982