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

babel-plugin-transform-metadata

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

babel-plugin-transform-metadata - npm Package Compare versions

Comparing version 0.0.4 to 0.0.5

dist/metaCreators/createInjectorDeclaration.js

7

dist/__tests__/data/Example.js

@@ -49,2 +49,5 @@ 'use strict';

a: A;
ErrorableElement: Class<React$Component<void, {
error: ?string|React$Component,
}, void>>;
/* @args *-/

@@ -83,3 +86,3 @@ d: D;

function test(depA /*: A*/, /* @args */d /*: D*/, d2 /*: D*/) /*: void*/ {}
function test /*:: <F: Object>*/(depA /*: A*/, f /*: F*/, /* @args */d /*: D*/, d2 /*: D*/) /*: void*/ {}

@@ -89,3 +92,3 @@ exports.default = test;

var types = [[(_3.default /*: R*/), '213']];
var types = [[(_3.default /*: R*/ /*: IT3*/), '213'], [(_3.default), '321']];
//# sourceMappingURL=Example.js.map
'use strict';
exports.__esModule = true;
exports.C = exports.Widget3 = exports.Widget2 = exports.Widget = exports.B = exports.A = undefined;
exports.test2 = test2;
var _inject2 = require('reactive-di/inject');
var _inject3 = _interopRequireDefault(_inject2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

@@ -20,2 +13,7 @@

function _inject(params, target /*: any*/) {
target[Symbol.for('design:paramtypes')] = params;
}
var A = exports.A = function A() {

@@ -38,3 +36,3 @@ _classCallCheck(this, A);

(0, _inject3.default)([{
_inject([{
a: A,

@@ -54,3 +52,3 @@ i: 'ITest.3402154763'

(0, _inject3.default)([{
_inject([{
a: A,

@@ -61,3 +59,6 @@ i: 'ITest.1013217576'

/*:: type W2Props = {
a: A
a: A;
ErrorableElement: Class<React$Component<void, {
error: ?string | React$Component
}, void>>
/* @args *-/

@@ -72,4 +73,5 @@ ; d: D;

(0, _inject3.default)([{
a: A
_inject([{
a: A,
ErrorableElement: 'Class'
}], Widget2);

@@ -90,3 +92,3 @@

(0, _inject3.default)([{
_inject([{
a: A

@@ -106,7 +108,7 @@ }], Widget3);

(0, _inject3.default)([B, 'R', 'ITest.3402154763', 'ITest.3402154763'], C);
_inject([B, 'R', 'ITest.3402154763', 'ITest.3402154763'], C);
function test(depA /*: A*/, /* @args */d /*: D*/, d2 /*: D*/) /*: void*/ {}
function test /*:: <F: Object>*/(depA /*: A*/, f /*: F*/, /* @args */d /*: D*/, d2 /*: D*/) /*: void*/ {}
(0, _inject3.default)([A], test);
_inject([A, 'F'], test);

@@ -116,7 +118,7 @@ exports.default = test;

(0, _inject3.default)([{
_inject([{
a: A
}], test2);
var types = [['R', '213']];
var types = [['R', '213'], ['ITest.1013217576', '321']];
//# sourceMappingURL=ExampleTranspiled.js.map

@@ -29,3 +29,4 @@ 'use strict';

plugins: ['syntax-flow', 'syntax-decorators', [pluginPath, {
reflectImport: 'reactive-di/inject'
metaDriver: 'symbol',
driverImport: 'reactive-di/inject'
}]]

@@ -48,3 +49,3 @@ };

filepath: 'src/__tests__/transformTest.js',
line: 32
line: 33
}));

@@ -51,0 +52,0 @@ });

@@ -14,3 +14,3 @@ 'use strict';

function createCreateCreateGenericTypeMetadata(t, externalTypeNames, internalTypes, depsId) {
function createCreateCreateGenericTypeMetadata(t, externalTypeNames, internalTypes, depsId, externalClassNames) {
return function createCreateGenericTypeMetadata(createObjectTypeMetadata) {

@@ -22,2 +22,8 @@ return function createGenericTypeMetadata(annotation) {

}
if (!externalClassNames.has(id.name)) {
// console.log(externalClassNames)
return t.stringLiteral(id.name);
// return createObjectTypeMetadata(internalType)
// throw new Error(`Unknown type detected: ${generate(annotation).code}`)
}

@@ -24,0 +30,0 @@ if (annotation.typeParameters) {

@@ -5,7 +5,11 @@ 'use strict';

exports.default = createCreateCreateObjectTypeMetadata;
// import generate from 'babel-generator'
function createCreateCreateObjectTypeMetadata(t, hasComment, depsId) {
function isDepsId(_ref) /*: boolean*/ {
var value = _ref.value;
return value.id.name === depsId;
function isDepsId(prop) /*: boolean*/ {
if (!prop.value || !prop.value.id) {
// throw new Error(`isDepsId: not found value property in ${generate(prop).code}`)
return false;
}
return prop.value.id.name === depsId;
}

@@ -22,6 +26,3 @@

return typeForAnnotation(pr.value.typeParameters.params[0]);
// properties = pr.value.typeParameters.params[0].properties
}
// console.log(properties)
//
}

@@ -34,2 +35,8 @@

if (!key || !value) {
// throw new Error(
// `createObjectTypeMetadata: Not found value property in ${generate(property).code}`
// )
break;
}
var val = typeForAnnotation(value);

@@ -36,0 +43,0 @@ if (val) {

@@ -20,3 +20,3 @@ "use strict";

// console.log(typeAnnotation.id)
if (typeAnnotation.id && typeAnnotation.id.name === depsId) {
if (typeAnnotation && typeAnnotation.id && typeAnnotation.id.name === depsId) {
break;

@@ -23,0 +23,0 @@ }

@@ -30,13 +30,13 @@ 'use strict';

var _createReflectionParamTypes = require('./factories/createReflectionParamTypes');
var _createHasComment = require('./factories/createHasComment');
var _createReflectionParamTypes2 = _interopRequireDefault(_createReflectionParamTypes);
var _createHasComment2 = _interopRequireDefault(_createHasComment);
var _createInjectParamTypes = require('./factories/createInjectParamTypes');
var _createGetUniqueTypeName = require('./factories/createGetUniqueTypeName');
var _createInjectParamTypes2 = _interopRequireDefault(_createInjectParamTypes);
var _createGetUniqueTypeName2 = _interopRequireDefault(_createGetUniqueTypeName);
var _createHasComment = require('./factories/createHasComment');
var _createParentPathInsertAfter = require('./modifiers/createParentPathInsertAfter');
var _createHasComment2 = _interopRequireDefault(_createHasComment);
var _createParentPathInsertAfter2 = _interopRequireDefault(_createParentPathInsertAfter);

@@ -47,9 +47,9 @@ var _createReplaceMagicTypeCasts = require('./modifiers/createReplaceMagicTypeCasts');

var _createParentPathInsertAfter = require('./modifiers/createParentPathInsertAfter');
var _createInjectorDeclaration = require('./metaCreators/createInjectorDeclaration');
var _createParentPathInsertAfter2 = _interopRequireDefault(_createParentPathInsertAfter);
var _createInjectorDeclaration2 = _interopRequireDefault(_createInjectorDeclaration);
var _createGetUniqueTypeName = require('./factories/createGetUniqueTypeName');
var _createInjectParamTypes = require('./metaCreators/createInjectParamTypes');
var _createGetUniqueTypeName2 = _interopRequireDefault(_createGetUniqueTypeName);
var _createInjectParamTypes2 = _interopRequireDefault(_createInjectParamTypes);

@@ -62,3 +62,2 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

return {
visitor: {

@@ -72,9 +71,11 @@ Program: function Program(path, _ref2) {

getUniqueTypeName: getUniqueTypeName,
reflectImport: opts.reflectImport,
driverImport: opts.driverImport,
ambiantTypeCastImport: opts.ambiantTypeCastImport || 'babel-plugin-transform-metadata/_',
ambiantDepsImport: opts.ambiantDepsImport || 'babel-plugin-transform-metadata/Deps',
lastImportPath: null,
depsId: null,
injectId: null,
ambiantTypeCast: null,
externalClassNames: new Map(),
internalTypes: new Map(),

@@ -90,19 +91,15 @@ externalTypeNames: new Map(),

var createCreateObjectTypeMetadata = (0, _createCreateCreateObjectTypeMetadata2.default)(t, hasComment, state.depsId);
var createCreateGenericTypeMetadata = (0, _createCreateCreateGenericTypeMetadata2.default)(t, state.externalTypeNames, state.internalTypes, state.depsId);
var createCreateGenericTypeMetadata = (0, _createCreateCreateGenericTypeMetadata2.default)(t, state.externalTypeNames, state.internalTypes, state.depsId, state.externalClassNames);
var typeForAnnotation = (0, _createTypeForAnnotation2.default)(t, state.externalTypeNames, createCreateObjectTypeMetadata, createCreateGenericTypeMetadata);
var typeForAnnotations = (0, _createTypeForAnnotations2.default)(hasComment, typeForAnnotation, state.depsId);
var defineParamTypes = void 0;
var reactImportDeclaration = void 0;
var injectId = state.injectId || file.scope.generateUidIdentifier('inject');
if (opts.reflectImport) {
var injectId = state.injectId || file.scope.generateUidIdentifier('inject');
if (!state.injectId) {
reactImportDeclaration = t.importDeclaration([t.importDefaultSpecifier(injectId)], t.stringLiteral(opts.reflectImport));
}
defineParamTypes = (0, _createInjectParamTypes2.default)(t, injectId, typeForAnnotations);
} else {
defineParamTypes = (0, _createReflectionParamTypes2.default)(t, 'design:paramtypes', typeForAnnotations);
var injectorDeclaration = null;
if (opts.metaDriver !== 'import' || !state.injectId) {
injectorDeclaration = (0, _createInjectorDeclaration2.default)(t, opts.driverImport, opts.metaDriver || 'symbol', injectId, 'design:paramtypes');
}
var defineParamTypes = (0, _createInjectParamTypes2.default)(t, injectId, typeForAnnotations);
var parentPathInsertAfter = (0, _createParentPathInsertAfter2.default)(defineParamTypes);

@@ -124,4 +121,8 @@

}
if (reactImportDeclaration) {
path.node.body.unshift(reactImportDeclaration);
if (injectorDeclaration) {
if (state.lastImportPath) {
state.lastImportPath.insertAfter(injectorDeclaration);
} else {
path.node.body.unshift(injectorDeclaration);
}
}

@@ -128,0 +129,0 @@ }

@@ -35,2 +35,3 @@ 'use strict';

params = node.params;
// console.log(params)
}

@@ -37,0 +38,0 @@

@@ -9,3 +9,3 @@ 'use strict';

var strPath = node.source.value;
if (strPath === state.reflectImport) {
if (strPath === state.driverImport) {
state.injectId = node.specifiers[0].local;

@@ -15,2 +15,4 @@ }

state.ambiantTypeCast = path;
} else {
state.lastImportPath = path;
}

@@ -21,5 +23,10 @@ if (strPath === state.ambiantDepsImport) {

},
ClassDeclaration: function ClassDeclaration(path, state) {
var node = path.node;
state.externalClassNames.set(node.id.name, node.id.name);
},
ImportSpecifier: function ImportSpecifier(path, state) {
var node = path.node;
var parent = path.parent;
state.externalClassNames.set(node.local.name, node.imported.name);
if (parent.importKind !== 'type') {

@@ -48,2 +55,3 @@ return;

var parent = path.parent;
state.externalClassNames.set(node.id.name, node.id.name);
if (parent.type !== 'ExportNamedDeclaration') {

@@ -50,0 +58,0 @@ state.internalTypes.set(node.id.name, node.right);

{
"name": "babel-plugin-transform-metadata",
"version": "0.0.4",
"version": "0.0.5",
"description": "Reflection metadata support for classes and functions",

@@ -5,0 +5,0 @@ "publishConfig": {

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

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

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