CodeSampleX

샘플

core-util-is 1.0.2: isArray, isBoolean, isBuffer

검증된 샘플 — npm core-util-is 1.0.2: isArray, isBoolean, isBuffer. node 22 · linux alpine/x64 · docker에서 contract를 실행해 통과했습니다: isArray returns true for arrays…

sha256:b0f128b25131de4aaad6b3bd9a3ff328e06df674517f576d52f51613cbf2912a

이 네트워크가 제공하는 것은 하나입니다. 빌드되는 샘플. 샌드박스에서 돌리고 서명된 영수증을 보관합니다. 등급을 매기지 않고 무엇도 보증하지 않습니다 — 같은 코드가 당신 환경에서 빌드되는지는 측정한 적이 없습니다. 통과한 계약 영수증을 낸 서로 다른 서명 키의 수입니다. 하나면 작성자 혼자이고, 둘 이상이면 다른 사람도 빌드했다는 뜻입니다. 키는 스스로 만드는 것이고 뒤에 등록된 신원이 없으므로, 세는 것은 사람이 아니라 키입니다. MIT-0

실행 증거

선언된 환경과 서명된 실행을 분리해 두었습니다. 이 샘플이 무엇을 어디서 실행했는지 그대로 볼 수 있습니다.

증거 기준
서명된 컨트랙트 통과
검증 영수증
1
빌드한 서명 키
1
선언된 환경 linux 24 · ubuntu · glibc 2.39 x64 npm

검증 실행 환경

환경 컨트랙트 단계 실행일
node 22 · linux alpine/x64 · docker ed25519:c1973797be207ac4 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1node:22-alpine@sha256:c610fcdfb1d5…
2026-08-27

케이스

HOW
목표
verify pkg:npm/core-util-is@1.0.2
패키지
심벌
  • isArray
  • isBoolean
  • isBuffer
  • isDate
  • isError
  • isFunction
  • isNull
  • isNullOrUndefined
  • isNumber
  • isObject
  • isPrimitive
  • isRegExp
  • isString
  • isSymbol
  • isUndefined
생성일
2026-08-27T17:18:35Z

컨트랙트

  1. isArray returns true for arrays and false for non-arrays
  2. isBoolean returns true for boolean primitives and false for other types
  3. isBuffer returns true for Buffer instances and false for non-buffers
  4. isDate returns true for Date instances and false for non-dates
  5. isError returns true for Error instances and false for non-errors
  6. isFunction returns true for functions and false for non-functions
  7. isNull returns true only for null
  8. isNullOrUndefined returns true for null or undefined and false for other values
  9. isNumber returns true for number primitives including NaN and Infinity
  10. isObject returns true for non-null objects including arrays and false for primitives
  11. isPrimitive returns true for primitives (null, undefined, boolean, number, string, symbol)
  12. isRegExp returns true for RegExp instances and false for non-regexes
  13. isString returns true for string primitives and false for non-strings
  14. isSymbol returns true for symbols and false for non-symbols
  15. isUndefined returns true only for undefined

파일

  • PROMPT.md
  • csx.json
  • package-lock.json
  • package.json
  • spec.json
  • src/index.js
  • test/contract.js

소스 아티팩트 내려받기 (tar.gz)

소스

PROMPT.md
Clean-room public code sample — generation instructions

Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.

A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.

Goal: verify pkg:npm/core-util-is@1.0.2
Kind: HOW

Use EXACTLY these public packages and versions:
  - pkg:npm/core-util-is@1.0.2

Rules:
  - One focused purpose; the smallest project that proves the goal.
  - Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
  - Pin every dependency with a lockfile so resolution is reproducible.
  - No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
  - No personal names, emails, company names, or project identifiers of any kind.
  - No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
  - Keep it under 200 files and 256KB packed.
csx.json
{"case":{"caseId":"case:sha256:10c468e8d41d6397333403d0c680472d027b8aceac23b8dd4ab9ff634109c1dc","contract":["isArray returns true for arrays and false for non-arrays","isBoolean returns true for boolean primitives and false for other types","isBuffer returns true for Buffer instances and false for non-buffers","isDate returns true for Date instances and false for non-dates","isError returns true for Error instances and false for non-errors","isFunction returns true for functions and false for non-functions","isNull returns true only for null","isNullOrUndefined returns true for null or undefined and false for other values","isNumber returns true for number primitives including NaN and Infinity","isObject returns true for non-null objects including arrays and false for primitives","isPrimitive returns true for primitives (null, undefined, boolean, number, string, symbol)","isRegExp returns true for RegExp instances and false for non-regexes","isString returns true for string primitives and false for non-strings","isSymbol returns true for symbols and false for non-symbols","isUndefined returns true only for undefined"],"goal":"verify pkg:npm/core-util-is@1.0.2","kind":"HOW","packages":["pkg:npm/core-util-is@1.0.2"],"schemaVersion":1,"symbols":["isArray","isBoolean","isBuffer","isDate","isError","isFunction","isNull","isNullOrUndefined","isNumber","isObject","isPrimitive","isRegExp","isString","isSymbol","isUndefined"]},"contractCommand":["node","test/contract.js"],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"npm","libc":"glibc","libcVersion":"2.39","os":"linux","osVersionBucket":"24","packageManager":"npm","schemaVersion":1},"license":"MIT-0","packages":["pkg:npm/core-util-is@1.0.2"],"schemaVersion":1,"subject":"pkg:npm/core-util-is@1.0.2","symbols":["isArray","isBoolean","isBuffer","isDate","isError","isFunction","isNull","isNullOrUndefined","isNumber","isObject","isPrimitive","isRegExp","isString","isSymbol","isUndefined"],"verifierAdapter":"node-typescript@1"}
package-lock.json
{
  "name": "sample-core-util-is",
  "version": "1.0.0",
  "lockfileVersion": 3,
  "requires": true,
  "packages": {
    "": {
      "name": "sample-core-util-is",
      "version": "1.0.0",
      "license": "MIT-0",
      "dependencies": {
        "core-util-is": "1.0.2"
      }
    },
    "node_modules/core-util-is": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
      "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
      "license": "MIT"
    }
  }
}
package.json
{
  "name": "sample-core-util-is",
  "version": "1.0.0",
  "private": true,
  "description": "Clean-room verification sample for core-util-is",
  "main": "src/index.js",
  "scripts": {
    "test": "node test/contract.js"
  },
  "dependencies": {
    "core-util-is": "1.0.2"
  },
  "license": "MIT-0"
}
spec.json
{
  "schemaVersion": 1,
  "goal": "verify pkg:npm/core-util-is@1.0.2",
  "kind": "HOW",
  "packages": [
    "pkg:npm/core-util-is@1.0.2"
  ],
  "symbols": [
    "isArray",
    "isBoolean",
    "isBuffer",
    "isDate",
    "isError",
    "isFunction",
    "isNull",
    "isNullOrUndefined",
    "isNumber",
    "isObject",
    "isPrimitive",
    "isRegExp",
    "isString",
    "isSymbol",
    "isUndefined"
  ]
}
src/index.js
const coreUtil = require('core-util-is');

function checkType(type, value) {
  if (typeof coreUtil[type] === 'function') {
    return coreUtil[type](value);
  }
  throw new Error('Unknown type check: ' + type);
}

module.exports = {
  checkType,
  isArray: coreUtil.isArray,
  isBoolean: coreUtil.isBoolean,
  isBuffer: coreUtil.isBuffer,
  isDate: coreUtil.isDate,
  isError: coreUtil.isError,
  isFunction: coreUtil.isFunction,
  isNull: coreUtil.isNull,
  isNullOrUndefined: coreUtil.isNullOrUndefined,
  isNumber: coreUtil.isNumber,
  isObject: coreUtil.isObject,
  isPrimitive: coreUtil.isPrimitive,
  isRegExp: coreUtil.isRegExp,
  isString: coreUtil.isString,
  isSymbol: coreUtil.isSymbol,
  isUndefined: coreUtil.isUndefined
};
test/contract.js
const assert = require('node:assert');
const coreUtil = require('core-util-is');
const {
  checkType,
  isArray,
  isBoolean,
  isBuffer,
  isDate,
  isError,
  isFunction,
  isNull,
  isNullOrUndefined,
  isNumber,
  isObject,
  isPrimitive,
  isRegExp,
  isString,
  isSymbol,
  isUndefined
} = require('../src/index.js');

// 1. isArray
assert.strictEqual(isArray([]), true, 'empty array is array');
assert.strictEqual(isArray([1, 2, 3]), true, 'array is array');
assert.strictEqual(isArray(new Array(5)), true, 'new Array is array');
assert.strictEqual(isArray({}), false, 'object is not array');
assert.strictEqual(isArray('abc'), false, 'string is not array');
assert.strictEqual(checkType('isArray', [1]), true, 'checkType isArray true');
assert.strictEqual(checkType('isArray', 'not-array'), false, 'checkType isArray false');

// 2. isBoolean
assert.strictEqual(isBoolean(true), true, 'true is boolean');
assert.strictEqual(isBoolean(false), true, 'false is boolean');
assert.strictEqual(isBoolean(0), false, '0 is not boolean');
assert.strictEqual(isBoolean('true'), false, 'string is not boolean');
assert.strictEqual(isBoolean(null), false, 'null is not boolean');
assert.strictEqual(checkType('isBoolean', true), true, 'checkType isBoolean');

// 3. isBuffer
assert.strictEqual(isBuffer(Buffer.from('hello')), true, 'Buffer.from is buffer');
assert.strictEqual(isBuffer(Buffer.alloc(8)), true, 'Buffer.alloc is buffer');
assert.strictEqual(isBuffer(new Uint8Array(8)), false, 'plain Uint8Array is not Buffer');
assert.strictEqual(isBuffer('hello'), false, 'string is not buffer');
assert.strictEqual(isBuffer({}), false, 'object is not buffer');
assert.strictEqual(checkType('isBuffer', Buffer.alloc(1)), true, 'checkType isBuffer');

// 4. isDate
assert.strictEqual(isDate(new Date()), true, 'new Date() is date');
assert.strictEqual(isDate(new Date('2026-01-01')), true, 'constructed Date is date');
assert.strictEqual(isDate(Date.now()), false, 'timestamp is not date');
assert.strictEqual(isDate('2026-01-01'), false, 'date string is not date');
assert.strictEqual(isDate({}), false, 'object is not date');
assert.strictEqual(checkType('isDate', new Date()), true, 'checkType isDate');

// 5. isError
assert.strictEqual(isError(new Error('fail')), true, 'new Error is error');
assert.strictEqual(isError(new TypeError('type err')), true, 'new TypeError is error');
assert.strictEqual(isError(new RangeError('range err')), true, 'new RangeError is error');
assert.strictEqual(isError({ message: 'fake error' }), false, 'plain object is not error');
assert.strictEqual(isError('error'), false, 'string is not error');
assert.strictEqual(checkType('isError', new Error('test')), true, 'checkType isError');

// 6. isFunction
assert.strictEqual(isFunction(function() {}), true, 'function declaration is function');
assert.strictEqual(isFunction(() => {}), true, 'arrow function is function');
assert.strictEqual(isFunction(class MyClass {}), true, 'class constructor is function');
assert.strictEqual(isFunction({}), false, 'object is not function');
assert.strictEqual(isFunction(null), false, 'null is not function');
assert.strictEqual(checkType('isFunction', () => {}), true, 'checkType isFunction');

// 7. isNull
assert.strictEqual(isNull(null), true, 'null is null');
assert.strictEqual(isNull(undefined), false, 'undefined is not null');
assert.strictEqual(isNull(0), false, '0 is not null');
assert.strictEqual(isNull(false), false, 'false is not null');
assert.strictEqual(isNull(''), false, 'empty string is not null');
assert.strictEqual(checkType('isNull', null), true, 'checkType isNull');

// 8. isNullOrUndefined
assert.strictEqual(isNullOrUndefined(null), true, 'null is nullOrUndefined');
assert.strictEqual(isNullOrUndefined(undefined), true, 'undefined is nullOrUndefined');
assert.strictEqual(isNullOrUndefined(void 0), true, 'void 0 is nullOrUndefined');
assert.strictEqual(isNullOrUndefined(0), false, '0 is not nullOrUndefined');
assert.strictEqual(isNullOrUndefined(false), false, 'false is not nullOrUndefined');
assert.strictEqual(isNullOrUndefined(''), false, 'empty string is not nullOrUndefined');
assert.strictEqual(isNullOrUndefined({}), false, 'object is not nullOrUndefined');
assert.strictEqual(checkType('isNullOrUndefined', undefined), true, 'checkType isNullOrUndefined');

// 9. isNumber
assert.strictEqual(isNumber(0), true, '0 is number');
assert.strictEqual(isNumber(42), true, '42 is number');
assert.strictEqual(isNumber(-3.14), true, '-3.14 is number');
assert.strictEqual(isNumber(NaN), true, 'NaN is number');
assert.strictEqual(isNumber(Infinity), true, 'Infinity is number');
assert.strictEqual(isNumber('42'), false, 'string is not number');
assert.strictEqual(isNumber(null), false, 'null is not number');
assert.strictEqual(checkType('isNumber', 123), true, 'checkType isNumber');

// 10. isObject
assert.strictEqual(isObject({}), true, 'empty object is object');
assert.strictEqual(isObject({ a: 1 }), true, 'object with keys is object');
assert.strictEqual(isObject([]), true, 'array is object');
assert.strictEqual(isObject(new Date()), true, 'Date is object');
assert.strictEqual(isObject(null), false, 'null is not object');
assert.strictEqual(isObject(undefined), false, 'undefined is not object');
assert.strictEqual(isObject(42), false, 'number is not object');
assert.strictEqual(isObject('str'), false, 'string is not object');
assert.strictEqual(checkType('isObject', { test: true }), true, 'checkType isObject');

// 11. isPrimitive
assert.strictEqual(isPrimitive(null), true, 'null is primitive');
assert.strictEqual(isPrimitive(undefined), true, 'undefined is primitive');
assert.strictEqual(isPrimitive(true), true, 'boolean is primitive');
assert.strictEqual(isPrimitive(123), true, 'number is primitive');
assert.strictEqual(isPrimitive('hello'), true, 'string is primitive');
assert.strictEqual(isPrimitive(Symbol('sym')), true, 'symbol is primitive');
assert.strictEqual(isPrimitive({}), false, 'object is not primitive');
assert.strictEqual(isPrimitive([]), false, 'array is not primitive');
assert.strictEqual(isPrimitive(() => {}), false, 'function is not primitive');
assert.strictEqual(checkType('isPrimitive', 'text'), true, 'checkType isPrimitive');

// 12. isRegExp
assert.strictEqual(isRegExp(/abc/), true, 'regex literal is regex');
assert.strictEqual(isRegExp(new RegExp('xyz')), true, 'new RegExp is regex');
assert.strictEqual(isRegExp('/abc/'), false, 'string regex is not regex');
assert.strictEqual(isRegExp({}), false, 'object is not regex');
assert.strictEqual(checkType('isRegExp', /test/), true, 'checkType isRegExp');

// 13. isString
assert.strictEqual(isString('hello'), true, 'string is string');
assert.strictEqual(isString(''), true, 'empty string is string');
assert.strictEqual(isString(123), false, 'number is not string');
assert.strictEqual(isString(null), false, 'null is not string');
assert.strictEqual(isString({}), false, 'object is not string');
assert.strictEqual(checkType('isString', 'world'), true, 'checkType isString');

// 14. isSymbol
assert.strictEqual(isSymbol(Symbol('id')), true, 'Symbol() is symbol');
assert.strictEqual(isSymbol(Symbol.iterator), true, 'Symbol.iterator is symbol');
assert.strictEqual(isSymbol('symbol'), false, 'string is not symbol');
assert.strictEqual(isSymbol(123), false, 'number is not symbol');
assert.strictEqual(checkType('isSymbol', Symbol('test')), true, 'checkType isSymbol');

// 15. isUndefined
assert.strictEqual(isUndefined(undefined), true, 'undefined is undefined');
assert.strictEqual(isUndefined(void 0), true, 'void 0 is undefined');
assert.strictEqual(isUndefined(null), false, 'null is not undefined');
assert.strictEqual(isUndefined(0), false, '0 is not undefined');
assert.strictEqual(isUndefined(''), false, 'empty string is not undefined');
assert.strictEqual(checkType('isUndefined', undefined), true, 'checkType isUndefined');

console.log('All 15 type check contract tests passed successfully.');

오리진 시더

익명