New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ts-transformer-keys

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ts-transformer-keys - npm Package Compare versions

Comparing version 0.4.3 to 0.4.4

10

package.json
{
"name": "ts-transformer-keys",
"version": "0.4.3",
"version": "0.4.4",
"description": "A TypeScript custom transformer which enables to obtain keys of given type.",

@@ -30,6 +30,6 @@ "scripts": {

"devDependencies": {
"@types/mocha": "^7.0.2",
"@types/node": "^14.0.13",
"mocha": "^8.2.1",
"typescript": "^3.9.5"
"@types/mocha": "^10.0.1",
"@types/node": "^18.11.9",
"mocha": "^10.1.0",
"typescript": "^4.9.3"
},

@@ -36,0 +36,0 @@ "peerDependencies": {

@@ -93,3 +93,3 @@ # ts-transformer-keys

```json
```jsonc
// tsconfig.json

@@ -113,7 +113,10 @@ {

```javascript
// ts-jest-keys-trasnformer.js
// ts-jest-keys-transformer.js
const keysTransformer = require('ts-transformer-keys/transformer').default;
const name = 'my-key-transformer';
const version = 1;
const factory = (cs) => (ctx) => keysTransformer(cs.tsCompiler.program)(ctx);
const factory = (cs) => (ctx) => keysTransformer(cs.program)(ctx);
// For ts-jest 26 use:
// const factory = (cs) => (ctx) => keysTransformer(cs.tsCompiler.program)(ctx);
module.exports = { name, version, factory };

@@ -120,0 +123,0 @@ ```

@@ -8,2 +8,4 @@ "use strict";

var path_1 = __importDefault(require("path"));
var createArrayExpression = typescript_1.default.factory ? typescript_1.default.factory.createArrayLiteralExpression : typescript_1.default.createArrayLiteral;
var createStringLiteral = typescript_1.default.factory ? typescript_1.default.factory.createStringLiteral : typescript_1.default.createLiteral;
function transformer(program) {

@@ -25,7 +27,7 @@ return function (context) { return function (file) { return visitNodeAndChildren(file, program, context); }; };

if (!node.typeArguments) {
return typescript_1.default.createArrayLiteral([]);
return createArrayExpression([]);
}
var type = typeChecker.getTypeFromTypeNode(node.typeArguments[0]);
var properties = typeChecker.getPropertiesOfType(type);
return typescript_1.default.createArrayLiteral(properties.map(function (property) { return typescript_1.default.createLiteral(property.name); }));
return createArrayExpression(properties.map(function (property) { return createStringLiteral(property.name); }));
}

@@ -32,0 +34,0 @@ var indexJs = path_1.default.join(__dirname, 'index.js');

import ts from 'typescript';
import path from 'path';
const createArrayExpression = ts.factory ? ts.factory.createArrayLiteralExpression : ts.createArrayLiteral;
const createStringLiteral = ts.factory ? ts.factory.createStringLiteral : ts.createLiteral;
export default function transformer(program: ts.Program): ts.TransformerFactory<ts.SourceFile> {

@@ -25,7 +28,7 @@ return (context: ts.TransformationContext) => (file: ts.SourceFile) => visitNodeAndChildren(file, program, context);

if (!node.typeArguments) {
return ts.createArrayLiteral([]);
return createArrayExpression([]);
}
const type = typeChecker.getTypeFromTypeNode(node.typeArguments[0]);
const properties = typeChecker.getPropertiesOfType(type);
return ts.createArrayLiteral(properties.map(property => ts.createLiteral(property.name)));
return createArrayExpression(properties.map(property => createStringLiteral(property.name)));
}

@@ -32,0 +35,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc