@dxos/debug
Advanced tools
Comparing version 0.6.4 to 0.6.5-staging.097cf0c
@@ -1,1 +0,1 @@ | ||
{"inputs":{"packages/common/debug/src/assert.ts":{"bytes":1334,"imports":[],"format":"esm"},"packages/common/debug/src/error-handler.ts":{"bytes":3608,"imports":[{"path":"@dxos/node-std/events","kind":"import-statement","external":true}],"format":"esm"},"packages/common/debug/src/error-stream.ts":{"bytes":3457,"imports":[],"format":"esm"},"packages/common/debug/src/fail.ts":{"bytes":1405,"imports":[],"format":"esm"},"packages/common/debug/src/inspect.ts":{"bytes":2029,"imports":[{"path":"@dxos/node-std/util","kind":"import-statement","external":true}],"format":"esm"},"packages/common/debug/src/log-method.ts":{"bytes":3084,"imports":[],"format":"esm"},"packages/common/debug/src/raise.ts":{"bytes":1245,"imports":[],"format":"esm"},"packages/common/debug/src/snoop.ts":{"bytes":7985,"imports":[],"format":"esm"},"packages/common/debug/src/stack-trace.ts":{"bytes":2675,"imports":[],"format":"esm"},"packages/common/debug/src/strings.ts":{"bytes":2538,"imports":[],"format":"esm"},"packages/common/debug/src/throw.ts":{"bytes":1949,"imports":[],"format":"esm"},"packages/common/debug/src/timeout-warning.ts":{"bytes":5199,"imports":[{"path":"packages/common/debug/src/stack-trace.ts","kind":"import-statement","original":"./stack-trace"}],"format":"esm"},"packages/common/debug/src/todo.ts":{"bytes":956,"imports":[],"format":"esm"},"packages/common/debug/src/devtools-formatter.ts":{"bytes":6253,"imports":[],"format":"esm"},"packages/common/debug/src/equality.ts":{"bytes":2776,"imports":[],"format":"esm"},"packages/common/debug/src/exposed-modules.ts":{"bytes":3029,"imports":[],"format":"esm"},"packages/common/debug/src/index.ts":{"bytes":1890,"imports":[{"path":"packages/common/debug/src/assert.ts","kind":"import-statement","original":"./assert"},{"path":"packages/common/debug/src/error-handler.ts","kind":"import-statement","original":"./error-handler"},{"path":"packages/common/debug/src/error-stream.ts","kind":"import-statement","original":"./error-stream"},{"path":"packages/common/debug/src/fail.ts","kind":"import-statement","original":"./fail"},{"path":"packages/common/debug/src/inspect.ts","kind":"import-statement","original":"./inspect"},{"path":"packages/common/debug/src/log-method.ts","kind":"import-statement","original":"./log-method"},{"path":"packages/common/debug/src/raise.ts","kind":"import-statement","original":"./raise"},{"path":"packages/common/debug/src/snoop.ts","kind":"import-statement","original":"./snoop"},{"path":"packages/common/debug/src/stack-trace.ts","kind":"import-statement","original":"./stack-trace"},{"path":"packages/common/debug/src/strings.ts","kind":"import-statement","original":"./strings"},{"path":"packages/common/debug/src/throw.ts","kind":"import-statement","original":"./throw"},{"path":"packages/common/debug/src/timeout-warning.ts","kind":"import-statement","original":"./timeout-warning"},{"path":"packages/common/debug/src/todo.ts","kind":"import-statement","original":"./todo"},{"path":"packages/common/debug/src/devtools-formatter.ts","kind":"import-statement","original":"./devtools-formatter"},{"path":"packages/common/debug/src/equality.ts","kind":"import-statement","original":"./equality"},{"path":"packages/common/debug/src/exposed-modules.ts","kind":"import-statement","original":"./exposed-modules"}],"format":"esm"}},"outputs":{"packages/common/debug/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22877},"packages/common/debug/dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/node-std/events","kind":"import-statement","external":true},{"path":"@dxos/node-std/util","kind":"import-statement","external":true}],"exports":["ErrorHandler","ErrorStream","Snoop","SnoopLevel","StackTrace","checkType","devtoolsFormatter","equalsSymbol","expectToThrow","exposeModule","failUndefined","importModule","inspectObject","isEqual","isEquatable","loadashEqualityFn","logMethod","raise","snoop","timed","todo","truncate","truncateKey","warnAfterTimeout"],"entryPoint":"packages/common/debug/src/index.ts","inputs":{"packages/common/debug/src/assert.ts":{"bytesInOutput":34},"packages/common/debug/src/index.ts":{"bytesInOutput":0},"packages/common/debug/src/error-handler.ts":{"bytesInOutput":610},"packages/common/debug/src/error-stream.ts":{"bytesInOutput":655},"packages/common/debug/src/fail.ts":{"bytesInOutput":91},"packages/common/debug/src/inspect.ts":{"bytesInOutput":214},"packages/common/debug/src/log-method.ts":{"bytesInOutput":597},"packages/common/debug/src/raise.ts":{"bytesInOutput":43},"packages/common/debug/src/snoop.ts":{"bytesInOutput":1784},"packages/common/debug/src/stack-trace.ts":{"bytesInOutput":407},"packages/common/debug/src/strings.ts":{"bytesInOutput":396},"packages/common/debug/src/throw.ts":{"bytesInOutput":290},"packages/common/debug/src/timeout-warning.ts":{"bytesInOutput":664},"packages/common/debug/src/todo.ts":{"bytesInOutput":79},"packages/common/debug/src/devtools-formatter.ts":{"bytesInOutput":1035},"packages/common/debug/src/equality.ts":{"bytesInOutput":391},"packages/common/debug/src/exposed-modules.ts":{"bytesInOutput":271}},"bytes":8638}}} | ||
{"inputs":{"packages/common/debug/src/assert.ts":{"bytes":1334,"imports":[],"format":"esm"},"packages/common/debug/src/error-handler.ts":{"bytes":3608,"imports":[{"path":"@dxos/node-std/events","kind":"import-statement","external":true}],"format":"esm"},"packages/common/debug/src/error-stream.ts":{"bytes":3457,"imports":[],"format":"esm"},"packages/common/debug/src/fail.ts":{"bytes":1405,"imports":[],"format":"esm"},"packages/common/debug/src/inspect.ts":{"bytes":2029,"imports":[{"path":"@dxos/node-std/util","kind":"import-statement","external":true}],"format":"esm"},"packages/common/debug/src/log-method.ts":{"bytes":3084,"imports":[],"format":"esm"},"packages/common/debug/src/raise.ts":{"bytes":1245,"imports":[],"format":"esm"},"packages/common/debug/src/snoop.ts":{"bytes":7985,"imports":[],"format":"esm"},"packages/common/debug/src/stack-trace.ts":{"bytes":3190,"imports":[],"format":"esm"},"packages/common/debug/src/strings.ts":{"bytes":2538,"imports":[],"format":"esm"},"packages/common/debug/src/throw.ts":{"bytes":1949,"imports":[],"format":"esm"},"packages/common/debug/src/timeout-warning.ts":{"bytes":5199,"imports":[{"path":"packages/common/debug/src/stack-trace.ts","kind":"import-statement","original":"./stack-trace"}],"format":"esm"},"packages/common/debug/src/todo.ts":{"bytes":956,"imports":[],"format":"esm"},"packages/common/debug/src/devtools-formatter.ts":{"bytes":6253,"imports":[],"format":"esm"},"packages/common/debug/src/equality.ts":{"bytes":2776,"imports":[],"format":"esm"},"packages/common/debug/src/exposed-modules.ts":{"bytes":3029,"imports":[],"format":"esm"},"packages/common/debug/src/index.ts":{"bytes":1890,"imports":[{"path":"packages/common/debug/src/assert.ts","kind":"import-statement","original":"./assert"},{"path":"packages/common/debug/src/error-handler.ts","kind":"import-statement","original":"./error-handler"},{"path":"packages/common/debug/src/error-stream.ts","kind":"import-statement","original":"./error-stream"},{"path":"packages/common/debug/src/fail.ts","kind":"import-statement","original":"./fail"},{"path":"packages/common/debug/src/inspect.ts","kind":"import-statement","original":"./inspect"},{"path":"packages/common/debug/src/log-method.ts","kind":"import-statement","original":"./log-method"},{"path":"packages/common/debug/src/raise.ts","kind":"import-statement","original":"./raise"},{"path":"packages/common/debug/src/snoop.ts","kind":"import-statement","original":"./snoop"},{"path":"packages/common/debug/src/stack-trace.ts","kind":"import-statement","original":"./stack-trace"},{"path":"packages/common/debug/src/strings.ts","kind":"import-statement","original":"./strings"},{"path":"packages/common/debug/src/throw.ts","kind":"import-statement","original":"./throw"},{"path":"packages/common/debug/src/timeout-warning.ts","kind":"import-statement","original":"./timeout-warning"},{"path":"packages/common/debug/src/todo.ts","kind":"import-statement","original":"./todo"},{"path":"packages/common/debug/src/devtools-formatter.ts","kind":"import-statement","original":"./devtools-formatter"},{"path":"packages/common/debug/src/equality.ts","kind":"import-statement","original":"./equality"},{"path":"packages/common/debug/src/exposed-modules.ts","kind":"import-statement","original":"./exposed-modules"}],"format":"esm"}},"outputs":{"packages/common/debug/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23136},"packages/common/debug/dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/node-std/events","kind":"import-statement","external":true},{"path":"@dxos/node-std/util","kind":"import-statement","external":true}],"exports":["ErrorHandler","ErrorStream","Snoop","SnoopLevel","StackTrace","checkType","devtoolsFormatter","equalsSymbol","expectToThrow","exposeModule","failUndefined","importModule","inspectObject","isEqual","isEquatable","loadashEqualityFn","logMethod","raise","snoop","timed","todo","truncate","truncateKey","warnAfterTimeout"],"entryPoint":"packages/common/debug/src/index.ts","inputs":{"packages/common/debug/src/assert.ts":{"bytesInOutput":34},"packages/common/debug/src/index.ts":{"bytesInOutput":0},"packages/common/debug/src/error-handler.ts":{"bytesInOutput":610},"packages/common/debug/src/error-stream.ts":{"bytesInOutput":655},"packages/common/debug/src/fail.ts":{"bytesInOutput":91},"packages/common/debug/src/inspect.ts":{"bytesInOutput":214},"packages/common/debug/src/log-method.ts":{"bytesInOutput":597},"packages/common/debug/src/raise.ts":{"bytesInOutput":43},"packages/common/debug/src/snoop.ts":{"bytesInOutput":1784},"packages/common/debug/src/stack-trace.ts":{"bytesInOutput":534},"packages/common/debug/src/strings.ts":{"bytesInOutput":396},"packages/common/debug/src/throw.ts":{"bytesInOutput":290},"packages/common/debug/src/timeout-warning.ts":{"bytesInOutput":664},"packages/common/debug/src/todo.ts":{"bytesInOutput":79},"packages/common/debug/src/devtools-formatter.ts":{"bytesInOutput":1035},"packages/common/debug/src/equality.ts":{"bytesInOutput":391},"packages/common/debug/src/exposed-modules.ts":{"bytesInOutput":271}},"bytes":8765}}} |
@@ -1,1 +0,1 @@ | ||
{"inputs":{"packages/common/debug/src/assert.ts":{"bytes":1334,"imports":[],"format":"esm"},"packages/common/debug/src/error-handler.ts":{"bytes":3608,"imports":[{"path":"node:events","kind":"import-statement","external":true}],"format":"esm"},"packages/common/debug/src/error-stream.ts":{"bytes":3457,"imports":[],"format":"esm"},"packages/common/debug/src/fail.ts":{"bytes":1405,"imports":[],"format":"esm"},"packages/common/debug/src/inspect.ts":{"bytes":2029,"imports":[{"path":"node:util","kind":"import-statement","external":true}],"format":"esm"},"packages/common/debug/src/log-method.ts":{"bytes":3084,"imports":[],"format":"esm"},"packages/common/debug/src/raise.ts":{"bytes":1245,"imports":[],"format":"esm"},"packages/common/debug/src/snoop.ts":{"bytes":7985,"imports":[],"format":"esm"},"packages/common/debug/src/stack-trace.ts":{"bytes":2675,"imports":[],"format":"esm"},"packages/common/debug/src/strings.ts":{"bytes":2538,"imports":[],"format":"esm"},"packages/common/debug/src/throw.ts":{"bytes":1949,"imports":[],"format":"esm"},"packages/common/debug/src/timeout-warning.ts":{"bytes":5199,"imports":[{"path":"packages/common/debug/src/stack-trace.ts","kind":"import-statement","original":"./stack-trace"}],"format":"esm"},"packages/common/debug/src/todo.ts":{"bytes":956,"imports":[],"format":"esm"},"packages/common/debug/src/devtools-formatter.ts":{"bytes":6253,"imports":[],"format":"esm"},"packages/common/debug/src/equality.ts":{"bytes":2776,"imports":[],"format":"esm"},"packages/common/debug/src/exposed-modules.ts":{"bytes":3029,"imports":[],"format":"esm"},"packages/common/debug/src/index.ts":{"bytes":1890,"imports":[{"path":"packages/common/debug/src/assert.ts","kind":"import-statement","original":"./assert"},{"path":"packages/common/debug/src/error-handler.ts","kind":"import-statement","original":"./error-handler"},{"path":"packages/common/debug/src/error-stream.ts","kind":"import-statement","original":"./error-stream"},{"path":"packages/common/debug/src/fail.ts","kind":"import-statement","original":"./fail"},{"path":"packages/common/debug/src/inspect.ts","kind":"import-statement","original":"./inspect"},{"path":"packages/common/debug/src/log-method.ts","kind":"import-statement","original":"./log-method"},{"path":"packages/common/debug/src/raise.ts","kind":"import-statement","original":"./raise"},{"path":"packages/common/debug/src/snoop.ts","kind":"import-statement","original":"./snoop"},{"path":"packages/common/debug/src/stack-trace.ts","kind":"import-statement","original":"./stack-trace"},{"path":"packages/common/debug/src/strings.ts","kind":"import-statement","original":"./strings"},{"path":"packages/common/debug/src/throw.ts","kind":"import-statement","original":"./throw"},{"path":"packages/common/debug/src/timeout-warning.ts","kind":"import-statement","original":"./timeout-warning"},{"path":"packages/common/debug/src/todo.ts","kind":"import-statement","original":"./todo"},{"path":"packages/common/debug/src/devtools-formatter.ts","kind":"import-statement","original":"./devtools-formatter"},{"path":"packages/common/debug/src/equality.ts","kind":"import-statement","original":"./equality"},{"path":"packages/common/debug/src/exposed-modules.ts","kind":"import-statement","original":"./exposed-modules"}],"format":"esm"}},"outputs":{"packages/common/debug/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22877},"packages/common/debug/dist/lib/node/index.cjs":{"imports":[{"path":"node:events","kind":"import-statement","external":true},{"path":"node:util","kind":"import-statement","external":true}],"exports":["ErrorHandler","ErrorStream","Snoop","SnoopLevel","StackTrace","checkType","devtoolsFormatter","equalsSymbol","expectToThrow","exposeModule","failUndefined","importModule","inspectObject","isEqual","isEquatable","loadashEqualityFn","logMethod","raise","snoop","timed","todo","truncate","truncateKey","warnAfterTimeout"],"entryPoint":"packages/common/debug/src/index.ts","inputs":{"packages/common/debug/src/assert.ts":{"bytesInOutput":34},"packages/common/debug/src/index.ts":{"bytesInOutput":0},"packages/common/debug/src/error-handler.ts":{"bytesInOutput":600},"packages/common/debug/src/error-stream.ts":{"bytesInOutput":655},"packages/common/debug/src/fail.ts":{"bytesInOutput":91},"packages/common/debug/src/inspect.ts":{"bytesInOutput":204},"packages/common/debug/src/log-method.ts":{"bytesInOutput":597},"packages/common/debug/src/raise.ts":{"bytesInOutput":43},"packages/common/debug/src/snoop.ts":{"bytesInOutput":1784},"packages/common/debug/src/stack-trace.ts":{"bytesInOutput":407},"packages/common/debug/src/strings.ts":{"bytesInOutput":396},"packages/common/debug/src/throw.ts":{"bytesInOutput":290},"packages/common/debug/src/timeout-warning.ts":{"bytesInOutput":664},"packages/common/debug/src/todo.ts":{"bytesInOutput":79},"packages/common/debug/src/devtools-formatter.ts":{"bytesInOutput":1035},"packages/common/debug/src/equality.ts":{"bytesInOutput":391},"packages/common/debug/src/exposed-modules.ts":{"bytesInOutput":271}},"bytes":8618}}} | ||
{"inputs":{"packages/common/debug/src/assert.ts":{"bytes":1334,"imports":[],"format":"esm"},"packages/common/debug/src/error-handler.ts":{"bytes":3608,"imports":[{"path":"node:events","kind":"import-statement","external":true}],"format":"esm"},"packages/common/debug/src/error-stream.ts":{"bytes":3457,"imports":[],"format":"esm"},"packages/common/debug/src/fail.ts":{"bytes":1405,"imports":[],"format":"esm"},"packages/common/debug/src/inspect.ts":{"bytes":2029,"imports":[{"path":"node:util","kind":"import-statement","external":true}],"format":"esm"},"packages/common/debug/src/log-method.ts":{"bytes":3084,"imports":[],"format":"esm"},"packages/common/debug/src/raise.ts":{"bytes":1245,"imports":[],"format":"esm"},"packages/common/debug/src/snoop.ts":{"bytes":7985,"imports":[],"format":"esm"},"packages/common/debug/src/stack-trace.ts":{"bytes":3190,"imports":[],"format":"esm"},"packages/common/debug/src/strings.ts":{"bytes":2538,"imports":[],"format":"esm"},"packages/common/debug/src/throw.ts":{"bytes":1949,"imports":[],"format":"esm"},"packages/common/debug/src/timeout-warning.ts":{"bytes":5199,"imports":[{"path":"packages/common/debug/src/stack-trace.ts","kind":"import-statement","original":"./stack-trace"}],"format":"esm"},"packages/common/debug/src/todo.ts":{"bytes":956,"imports":[],"format":"esm"},"packages/common/debug/src/devtools-formatter.ts":{"bytes":6253,"imports":[],"format":"esm"},"packages/common/debug/src/equality.ts":{"bytes":2776,"imports":[],"format":"esm"},"packages/common/debug/src/exposed-modules.ts":{"bytes":3029,"imports":[],"format":"esm"},"packages/common/debug/src/index.ts":{"bytes":1890,"imports":[{"path":"packages/common/debug/src/assert.ts","kind":"import-statement","original":"./assert"},{"path":"packages/common/debug/src/error-handler.ts","kind":"import-statement","original":"./error-handler"},{"path":"packages/common/debug/src/error-stream.ts","kind":"import-statement","original":"./error-stream"},{"path":"packages/common/debug/src/fail.ts","kind":"import-statement","original":"./fail"},{"path":"packages/common/debug/src/inspect.ts","kind":"import-statement","original":"./inspect"},{"path":"packages/common/debug/src/log-method.ts","kind":"import-statement","original":"./log-method"},{"path":"packages/common/debug/src/raise.ts","kind":"import-statement","original":"./raise"},{"path":"packages/common/debug/src/snoop.ts","kind":"import-statement","original":"./snoop"},{"path":"packages/common/debug/src/stack-trace.ts","kind":"import-statement","original":"./stack-trace"},{"path":"packages/common/debug/src/strings.ts","kind":"import-statement","original":"./strings"},{"path":"packages/common/debug/src/throw.ts","kind":"import-statement","original":"./throw"},{"path":"packages/common/debug/src/timeout-warning.ts","kind":"import-statement","original":"./timeout-warning"},{"path":"packages/common/debug/src/todo.ts","kind":"import-statement","original":"./todo"},{"path":"packages/common/debug/src/devtools-formatter.ts","kind":"import-statement","original":"./devtools-formatter"},{"path":"packages/common/debug/src/equality.ts","kind":"import-statement","original":"./equality"},{"path":"packages/common/debug/src/exposed-modules.ts","kind":"import-statement","original":"./exposed-modules"}],"format":"esm"}},"outputs":{"packages/common/debug/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23136},"packages/common/debug/dist/lib/node/index.cjs":{"imports":[{"path":"node:events","kind":"import-statement","external":true},{"path":"node:util","kind":"import-statement","external":true}],"exports":["ErrorHandler","ErrorStream","Snoop","SnoopLevel","StackTrace","checkType","devtoolsFormatter","equalsSymbol","expectToThrow","exposeModule","failUndefined","importModule","inspectObject","isEqual","isEquatable","loadashEqualityFn","logMethod","raise","snoop","timed","todo","truncate","truncateKey","warnAfterTimeout"],"entryPoint":"packages/common/debug/src/index.ts","inputs":{"packages/common/debug/src/assert.ts":{"bytesInOutput":34},"packages/common/debug/src/index.ts":{"bytesInOutput":0},"packages/common/debug/src/error-handler.ts":{"bytesInOutput":600},"packages/common/debug/src/error-stream.ts":{"bytesInOutput":655},"packages/common/debug/src/fail.ts":{"bytesInOutput":91},"packages/common/debug/src/inspect.ts":{"bytesInOutput":204},"packages/common/debug/src/log-method.ts":{"bytesInOutput":597},"packages/common/debug/src/raise.ts":{"bytesInOutput":43},"packages/common/debug/src/snoop.ts":{"bytesInOutput":1784},"packages/common/debug/src/stack-trace.ts":{"bytesInOutput":534},"packages/common/debug/src/strings.ts":{"bytesInOutput":396},"packages/common/debug/src/throw.ts":{"bytesInOutput":290},"packages/common/debug/src/timeout-warning.ts":{"bytesInOutput":664},"packages/common/debug/src/todo.ts":{"bytesInOutput":79},"packages/common/debug/src/devtools-formatter.ts":{"bytesInOutput":1035},"packages/common/debug/src/equality.ts":{"bytesInOutput":391},"packages/common/debug/src/exposed-modules.ts":{"bytesInOutput":271}},"bytes":8745}}} |
@@ -20,3 +20,4 @@ /** | ||
getStack(skipFrames?: number): string; | ||
getStackArray(skipFrames?: number): string[]; | ||
} | ||
//# sourceMappingURL=stack-trace.d.ts.map |
{ | ||
"name": "@dxos/debug", | ||
"version": "0.6.4", | ||
"version": "0.6.5-staging.097cf0c", | ||
"description": "Debug utilities", | ||
@@ -9,7 +9,15 @@ "homepage": "https://dxos.org", | ||
"author": "DXOS.org", | ||
"main": "dist/lib/node/index.cjs", | ||
"browser": { | ||
"./dist/lib/node/index.cjs": "./dist/lib/browser/index.mjs" | ||
"exports": { | ||
".": { | ||
"browser": "./dist/lib/browser/index.mjs", | ||
"node": { | ||
"default": "./dist/lib/node/index.cjs" | ||
}, | ||
"types": "./dist/types/src/index.d.ts" | ||
} | ||
}, | ||
"types": "dist/types/src/index.d.ts", | ||
"typesVersions": { | ||
"*": {} | ||
}, | ||
"files": [ | ||
@@ -20,3 +28,3 @@ "dist", | ||
"dependencies": { | ||
"@dxos/node-std": "0.6.4" | ||
"@dxos/node-std": "0.6.5-staging.097cf0c" | ||
}, | ||
@@ -23,0 +31,0 @@ "publishConfig": { |
@@ -31,2 +31,7 @@ // | ||
} | ||
getStackArray(skipFrames = 0) { | ||
const stack = this._stack.stack!.split('\n'); | ||
return stack.slice(skipFrames + 2); | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
104740
1378
+ Added@dxos/node-std@0.6.5-staging.097cf0c(transitive)
- Removed@dxos/node-std@0.6.4(transitive)