{"_id":"@user-credits/stripe-mongoose","_rev":"28-ee8a2c51f5df4aec7dd85f04426a6850","name":"@user-credits/stripe-mongoose","dist-tags":{"latest":"1.0.4-beta"},"versions":{"0.12.1-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.12.1-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc","build":"rmdir /s /q .\\dist & npx tsc","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm test","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.12.5-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^13.9.0"},"gitHead":"a782bc92ddfca7d29032b5a80cdd7b8afe69ee89","_id":"@user-credits/stripe-mongoose@0.12.1-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-DQ22NAgWKVPZqlC1FL5kUyfl9i9ccCfHR7XCCdO4EUXe+Io7wX9txP6CgsefP2mRN3H96wnfhLn8UE0GF/yjDQ==","shasum":"e46f36445cfcdcdde8c3070e79d781face5a7051","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.12.1-alpha.tgz","fileCount":53,"unpackedSize":58221,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdu0VMzX3F+lPdj7bpnb21AmcR27IzBYnRG7DL1cafNgIhANcLmrmv0MXcAV+HD4Rp46GaupwKz9omF8qbVqqaPGoB"}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.12.1-alpha_1699526112683_0.29527063329754144"},"_hasShrinkwrap":false},"0.12.2-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.12.2-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc","build":"rmdir /s /q .\\dist & npx tsc","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.12.6-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^13.9.0"},"gitHead":"c349395e075e56a36046b331af5c4be7209451a8","_id":"@user-credits/stripe-mongoose@0.12.2-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-dZJxLyjY+ZSW/evXVd+gpORI2Npcn+HybphjIXikg2XyHObNZ+b1LGO6kIWazpxR0l1YWJ8G5YuYEJuSa/oNzg==","shasum":"4f029238ba220e896d86bc1f168ca6d8367dd450","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.12.2-alpha.tgz","fileCount":53,"unpackedSize":59510,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBthdvxAQZfzf43E7HaQwzZxO2/1P2iK0DAKMmV492TvAiEAgSmEFUI8PklymXSufk8RW7vqD5aTXW7GSfepeoyjS6I="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.12.2-alpha_1699616516315_0.6429716445071318"},"_hasShrinkwrap":false},"0.12.3-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.12.3-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc","build":"rmdir /s /q .\\dist & npx tsc","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.12.6-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^13.9.0"},"gitHead":"42aac328534284bb61b56577571338f589269a70","_id":"@user-credits/stripe-mongoose@0.12.3-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-vXmaJ/9W3x/eKIM60xNetrVWb6W7Fjpl8MkZiY43LjfUG/vUGPCY7vN0bhECCenojAOLzvPfgScGJNPQBY22rg==","shasum":"d1473e76fadd55053dc6073008f5e57fa2cc77b5","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.12.3-alpha.tgz","fileCount":53,"unpackedSize":59691,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4stP7j8soGhmb4zGHi5wrpazd+0FL10tFzGlhM073UAIgZg8pu7UBbr8ZzOhCbw4XVJaT53GtRR/fritzCKebfpo="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.12.3-alpha_1699618360776_0.8946825791694204"},"_hasShrinkwrap":false},"0.12.4-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.12.4-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","main":"./dist/stripe-mongoose.js","types":"./dist/index.d.ts","module":"./dist/stripe-mongoose.js","exports":{".":{"import":"./dist/stripe-mongoose.js","require":"./dist/stripe-mongoose.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc","build":"rmdir /s /q .\\dist & tsc & vite build","buildTrace":"rmdir /s /q .\\dist & tsc --traceResolution & vite build","build:watch":"tsc & vite build --watch","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@rollup/plugin-typescript":"^11.1.5","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.6","@types/node":"^20.8.9","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.7.2","eslint":"^8.52.0","eslint-config-prettier":"^9.0.0","eslint-config-standard-with-typescript":"^39.1.1","eslint-plugin-import":"^2.25.2","eslint-plugin-n":"^15.0.0 || ^16.0.0 ","eslint-plugin-prettier":"^5.0.0","eslint-plugin-promise":"^6.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"3.0.3","rollup-plugin-typescript-paths":"^1.4.0","ts-jest":"^29.1.1","tslib":"^2.4.0","typescript":"^5.2.2","vite":"^4.4.5","vite-plugin-dts":"^3.6.2"},"dependencies":{"@user-credits/core":"^0.12.6-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^13.9.0"},"gitHead":"8527f06a48d978df05225781e18cf6d2e4c91a32","_id":"@user-credits/stripe-mongoose@0.12.4-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-jkFv/Db58VyWy9UNDDK6B3buyccKyJW1bcNFAk2LX2fiH3DzmRE23QSX0w8NobLgs56csX5vIyOn/42wynWelA==","shasum":"71e29a61701682a8b88599bebb2b22a52b7f6768","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.12.4-alpha.tgz","fileCount":30,"unpackedSize":1488642,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+0b5cWAGTjlJRZOr0865kIDZDNjBqL5+fRd0Kh56MawIgRPzvG3/ufiWBMB31XBus7rAbtjvy7dpPnWpB2FbBU68="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.12.4-alpha_1699632272299_0.6662773758659843"},"_hasShrinkwrap":false},"0.12.5-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.12.5-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.12.6-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^13.9.0"},"gitHead":"422cada3ba6bbd33f796467304a3d0d435f0d93e","_id":"@user-credits/stripe-mongoose@0.12.5-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-xwCyKtd+ZMwdpuza35p8UiNHw1Hj+56S+O/KzAqoI8sxhK/yzluNHstG4SRqncbQGfeIiKaKBiGTgw1A0g1cag==","shasum":"f2b65c500f4ae268178640499b30565da8c65ef4","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.12.5-alpha.tgz","fileCount":53,"unpackedSize":59901,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDPCjz2w+3GDuPKzFQUOvuGm2Ux8/zAMQ8uqEwHQxs9FAiEA69Qz5yS8T9E0YE1gDnnIunP22vlMhIatMl1+5vld5ow="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.12.5-alpha_1699653198679_0.11816250230577174"},"_hasShrinkwrap":false},"0.12.6-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.12.6-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.12.7-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^13.9.0"},"gitHead":"422cada3ba6bbd33f796467304a3d0d435f0d93e","_id":"@user-credits/stripe-mongoose@0.12.6-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-pp7YVPJ1Zp8vLa55bl7e4Xa6L8O8BSQYRtWlyFBOTUVQv7x81gtjMTy20kYMw+wQstd4YTUwkhbWGihH530u8A==","shasum":"6c307e5157b68995bd0df82220bde47db0489f5c","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.12.6-alpha.tgz","fileCount":53,"unpackedSize":59901,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEbS3pS8u3PUVipgwH8q2uCYyaLqP/EZsa/3Kb5LIQ0mAiBMoVgQiJcsWm+dnembnHhQhIyXF521t57+WVQP4jhkcQ=="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.12.6-alpha_1699653762486_0.5452736276293901"},"_hasShrinkwrap":false},"0.12.7-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.12.7-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.12.9-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^13.9.0"},"gitHead":"422cada3ba6bbd33f796467304a3d0d435f0d93e","_id":"@user-credits/stripe-mongoose@0.12.7-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-rEA7PFASlNG6gAQ7KN3aD+nEHgL0A6pJmf/kRBFB7AJcbF3BcqUyZpcZffxQVfxMjJKDwllj7Po0fSSXAk0SPA==","shasum":"71eb93cb3b844144312ff69dbb52ee08d43974e5","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.12.7-alpha.tgz","fileCount":53,"unpackedSize":59914,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICJQT4EL2xTEvRTJE8sBQ4e70CpDuCFtIu+vFOlmt+BRAiEAwhQ+UWD2RovvOnQpdErff4HMXzvxYi2+iL6qzw75dHE="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.12.7-alpha_1699654892271_0.4847600784840296"},"_hasShrinkwrap":false},"0.12.8-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.12.8-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.12.10-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^13.9.0"},"gitHead":"2f8bab59d9825ed485b26ffc69ce22a835d9c9f5","_id":"@user-credits/stripe-mongoose@0.12.8-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-l99+A/O4tp1GG9+AQFnUjBfKF9VWt79uBnjvLHeNfOMQOxXiTwdKsvev8cdmsbxjLbzBe4zfXaAoflrjlh61Ew==","shasum":"58cfbe5759e16e4ea3177e7a213b96ecc284dcdc","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.12.8-alpha.tgz","fileCount":53,"unpackedSize":59986,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDEf7eP9NwX7EEMWs+PGGDLIyB25dKsPxYxp/nhf+7b/AiBSs/wdGUBA32NZYgi5+JtBh3/y1cDQE/hJEC4RJyYwig=="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.12.8-alpha_1699657556364_0.1800604235816372"},"_hasShrinkwrap":false},"0.12.9-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.12.9-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.12.10-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^13.9.0"},"gitHead":"5a4592a2ad7be09f0993fab4cdacbfe0f6826b61","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@0.12.9-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-lxgZTrvKkV2sCsTjNstAgqAZNqSawsSWn8ZQ51oLuH/00RrHS/6S8EQv8TQdF6H+NTJqqZL+aP0erAFxe5poNg==","shasum":"d38d5434c695233c5db9fb8eae1b844e102fb095","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.12.9-alpha.tgz","fileCount":53,"unpackedSize":60004,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCe5ZLSLD7Al7HKpgxAIbq8zgP5B9w9O9QcnVszY3K0rwIgRDdii5s+wb3R2X4DrpY3Hvcsb+BAVHeNACrIP9B/cm4="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.12.9-alpha_1699894813032_0.28724443784179954"},"_hasShrinkwrap":false},"0.12.10-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.12.10-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.12.10-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^13.9.0"},"gitHead":"d8cb2c517cea95a29f1596890624df904974abf9","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@0.12.10-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-4n+Ax8LSOMvFK/b5WXelCgp6gQKmQVluv9jSuKlJ7kt1djg6vFR3SOzJ8LiJ2jIWDFzYkPD/NBGXBNVS0VyH+g==","shasum":"818bd7ea9471636579cca62c76c9d01d5fc9c610","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.12.10-alpha.tgz","fileCount":55,"unpackedSize":62306,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhVQNUUFMIfzKYxfSp2GZbXVgmz3kno+ax/7FYFh3kFwIgPqrPMeLYM2s/h1E0xmIiot/jZoMBQKHjVwNLTGCwKUY="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.12.10-alpha_1699910077020_0.9589581742542583"},"_hasShrinkwrap":false},"0.12.11-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.12.11-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.12.11-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^13.9.0"},"gitHead":"213644789ea94f9e4f73674752279f50165d29f3","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@0.12.11-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-/kYC9w0dER0WlsxWHli2vj2YZvf8iuwaUX6Rsu2o2F15RNXPpJG3/YexjQxdWh6/yk5S0xerq3BdMwo0ZLj+Cg==","shasum":"c992629e28bc6c8a05432f2244d8fba39c1719ff","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.12.11-alpha.tgz","fileCount":55,"unpackedSize":62306,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEa4LamZ/jubZi/0MlKz0E0Ww5h/WH1LtNRw3XIa4d02AiBjxE7NqeF+6JkDtfwTu3M6BBEnoGK+ZOu2U7EBxDHi0g=="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.12.11-alpha_1699953217320_0.8915816780622143"},"_hasShrinkwrap":false},"0.12.12-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.12.12-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.12.12-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"e17599578708b34e46d28c37658809ffdce1b515","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@0.12.12-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-zSYpUXTgSVHEOFRBOF2zvwKJxAwIWcTn4Jm+aKSUIaWcTOrqm6AwXiKi1y50sOwAerAldAHw34YzTX8JbjLyqw==","shasum":"a544dcd46517b81777a65af35e45a58730544508","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.12.12-alpha.tgz","fileCount":55,"unpackedSize":62348,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfvSyOeiOLFxtVxCrsrchZEWxWhGJTrR9agpbHw4pNLQIgLpfaKsfEkM/R5gmqXMJ9XjMbQEBlBHCoNPPrpAr2WHk="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.12.12-alpha_1700038249311_0.7472980891503462"},"_hasShrinkwrap":false},"0.13.1-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.13.1-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.13.1-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"a3261d06d094b3aae8df0e215efa2543360f6175","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@0.13.1-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-faeZ5hvpCdP21aS1Xgl9Qb32UW74qpIyKg/RfrlWvd6n9AUx7k+OKvrXO8wqwMpOb4DDmnIZK3l12xAi803+dA==","shasum":"407371911bda9ebab5a9d72ea4a196408d43a0cb","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.13.1-alpha.tgz","fileCount":55,"unpackedSize":63077,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyBtgzsJCIs3CcPC+bJ7HZwGwd5ktYEURaeqLaja2LLAIhAMihDQTxSahOXq4qsCO744pAGohSQADSERhhC4SkKo//"}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.13.1-alpha_1700236348931_0.8883908539507261"},"_hasShrinkwrap":false},"0.14.0-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.14.0-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.14.0-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"4e9e5398cb4f32b3bfbe5562f2a58f307b150e7c","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@0.14.0-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-qJ3XWVwx0Fv0VWSiVIO120S+zr5er6Z4wT+R9m1op3rwQ+Qhogxfr23FmwJF/VrqD4DD+jYOFaIYvivhDZYUpQ==","shasum":"923f80a222679d8ea5a352595d3bd8e4289659e8","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.14.0-alpha.tgz","fileCount":55,"unpackedSize":63133,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0qFNsncMydi9/QdWk0zgXlk5ZsrjfdtOYLGW07GPw6AiB7z00I9U2Y6f+RNFRDEruCVWtupxTAKAeUquhcA2jwlw=="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.14.0-alpha_1700519517047_0.6058303159483422"},"_hasShrinkwrap":false},"0.14.1-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.14.1-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.14.1-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"4e9e5398cb4f32b3bfbe5562f2a58f307b150e7c","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@0.14.1-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-RqvZUnzDNihr73IKPdk1EErNA0nRfKfc45XnlB/19La7MXgQIMHq0YP7mWGbu5wDpvZLPLLYSMtaajoxkJEu2A==","shasum":"44bb69e1f43e9394484902b4f9b7b2b2bd5b9d03","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.14.1-alpha.tgz","fileCount":55,"unpackedSize":63133,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFNpHkX46ZRXUlQsCStj5pm3X/e+yXDM7YZ6Z1PFpxVsAiEA9fV9zLCpvjmFyAlEH4PrjLeshMeEDlfevo8pZZzvuLU="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.14.1-alpha_1700520409113_0.5161663973051887"},"_hasShrinkwrap":false},"0.15.0-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.15.0-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"link:..\\user-credits-core","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"db0fe38666d0577721191119a0d8ec6f00421909","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@0.15.0-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-+TTc+WvFDW0mKZwdom0W+UAKV16GOkJ7hm0+DEXOdGyx6lVTsI39NMVUTCWnojhh1YdE0u8Cux5C6TOEvzQs4w==","shasum":"f6605a7bce729063d40706535ca23d6576c63a3b","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.15.0-alpha.tgz","fileCount":55,"unpackedSize":63170,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC7IfGWU8xWJAybOcbki757UlXHusV5JwszAgyEYx0zIAiEA1oP2YjCwTQzmjuFifKTAx1sxz0enBQiEb7TTPvlug7M="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.15.0-alpha_1700589459482_0.5811634007937099"},"_hasShrinkwrap":false,"deprecated":"error: using dev dependency on @user-credits/core"},"0.15.1-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.15.1-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.15.0-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"e2268ea063e6eea9a0628e80459b5daf3757c603","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@0.15.1-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-Jkabe2Hxswv/+1Ty69uwIt1xxCObgnQoNZmTibON9VH2B/dmhf5GTElNGlrccxWYdYkCWwlzv4tmAh+p2yOSog==","shasum":"f19508c3a3953c849000a3b72453171a5e8abb04","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.15.1-alpha.tgz","fileCount":55,"unpackedSize":63157,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBFNe0WhIm61G7QWpAXFdqKiGqSgOQAfBgoVdE5DUxkRAiEA8q5n3KMnGBk5+DM+pVjDaYMItTbACO1Gl304ejrSs5w="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.15.1-alpha_1700589685882_0.6593894582558137"},"_hasShrinkwrap":false},"0.15.2-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.15.2-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.15.1-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"fedccc7e524b4b4fe5c9781ee45167dcbd94800f","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@0.15.2-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-kcQGt8gsM5+6rm6sZs7EnZofyi5hB/4Sb++bUnjp/dJhbtY/mrq8z2X0fll0etfruit6R5w88U8kC9S8z3YZnQ==","shasum":"4d338c132f4f31f710f5f34bbb2a449980c4e5c9","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.15.2-alpha.tgz","fileCount":55,"unpackedSize":63157,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHKPjXRpSfsUB5beyHEn2Dl0iyvA7KFAwDvzmIdEJdEuAiAqxdoeIHmWkpIDFvIjcQLi8v5WSVrqAykELw/a9Axb+Q=="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.15.2-alpha_1700647761224_0.3443049240521978"},"_hasShrinkwrap":false},"0.15.3-alpha":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.15.3-alpha","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.15.1-alpha","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"fedccc7e524b4b4fe5c9781ee45167dcbd94800f","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@0.15.3-alpha","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-cEsnDonVFxcA9337+F1fxE4UjswWWHlmj/yE5HSSRc8gm3NGU7NMEPYhe0ReYQ52BY2lKq9/RTRSCfv9L1pjew==","shasum":"573746e7ed55ef218b0de6a0703cc0d7e92f2d12","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.15.3-alpha.tgz","fileCount":55,"unpackedSize":63465,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAL4S9/bBG33H67Ah0192H1I8KojN3B1WyR1m3rrp3SLAiEAokpQCfj4V2xqMstNWb7QJW7BcSouS7Ja3V9iJeZKS44="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.15.3-alpha_1700765162307_0.27802239056015354"},"_hasShrinkwrap":false},"0.15.4-beta":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.15.4-beta","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.15.2-beta","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"c1c96a225f6de81efa146802e28a3109ca7a76e2","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@0.15.4-beta","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-CwaFWZrLsMafkfR/D6W8OOica+pWWpG41KUxLv7D08sQr1d9thgIhu7k+vlsjPtco9IBcoN9TCYyOp3CffeIRQ==","shasum":"59f6ebd03e66a348de2993f428ec8d3fb6698c1d","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.15.4-beta.tgz","fileCount":55,"unpackedSize":63607,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaA7JEMKwvv+2c4E9Pqk0d3vMp3EG8dAnc6r9irhJZAwIhANZ1H3VqMzHcNjeF6gAQTMHoIGwi4O/C/EuXb7TVelJO"}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.15.4-beta_1701114513400_0.5181262660905157"},"_hasShrinkwrap":false},"0.16.0-beta":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"0.16.0-beta","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^0.16.0-beta","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"e446a33a586f5572eba16d210a925e7ecda66827","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@0.16.0-beta","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-GUyI7PNFTtNXnCYV9zHecTo9oMpgTXmvMmjW84S3jltw6dRc8Bou6H/vmc31pW/FBQ2SSF/j7yVHl5AU8/xgYA==","shasum":"62ce5d096a88c71972b15c3b538ebdd53f518cff","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-0.16.0-beta.tgz","fileCount":55,"unpackedSize":64252,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCogr+ttmbFxzf6aWVzptez6FKRgHKsDr7AHp1BxR1CvQIgFkW83hkA0tDmc6COLSpFCE2vSp2D6pQKQkyxQ/k5z4Y="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_0.16.0-beta_1701118965001_0.21786731852539454"},"_hasShrinkwrap":false},"1.0.0-beta":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"1.0.0-beta","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^1.0.0-beta","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"e4f66318814fb7be44a4de1b2b77c2723745f549","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@1.0.0-beta","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-W1/P8mBNDeOTvgfQLck/7opsBazIrcqL4j2Dh5TlhsNA1lkRce5ea8sTlczOfgSb0f2MyZeCLUDyM3PbkWJGnQ==","shasum":"756f627b67bbcb61bb614b317f15b335d0e6f872","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-1.0.0-beta.tgz","fileCount":55,"unpackedSize":69202,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZctGtFUajR31BNKColWfLNhMDZOTCmu5WY303tKu9bgIgH4Uuayw4h0/D0trcN/OKlW7d8CHuPMs7EXL/Nj7Umg4="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_1.0.0-beta_1701765907453_0.9595696159903908"},"_hasShrinkwrap":false},"1.0.1-beta":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"1.0.1-beta","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --coverageDirectory='coverage'","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^1.0.0-beta","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"6d59298f62143334d72a98e9b663e2bcdc87b89e","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@1.0.1-beta","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-s2+oV9Q2S1C86hO4/+gty5/FvVEJ0Yqw4DfARews84cda7oWOt0YSjofMDJRsdKUmRVvUpEjfnMtFlOd9yhpXA==","shasum":"e88444d9a041676c4a9bb859bea1d625de71889f","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-1.0.1-beta.tgz","fileCount":55,"unpackedSize":69281,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEAOH6ke3D/mxwvWYZNmt7MGDyJvFIV6VyEjliK5cHNBAiBF5FepoZGLIgEN/Z7gNbDT2hWnbTsDLoJ2rFUtJ4FdMw=="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_1.0.1-beta_1702373517118_0.2791407635631853"},"_hasShrinkwrap":false,"deprecated":"this package version has been deprecated, please use 1.0.0-beat instead"},"1.0.2-beta":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"1.0.2-beta","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --coverageDirectory='coverage'","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^1.0.1-beta","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"6b5159a387b3388b76f1648879a3722f60788e07","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@1.0.2-beta","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-zgpLZCDseV7u0zMYtq3PaT46iYNjq+qiFYIKZWVUS5iir3kFaO5vimeiARMuyDqzyng/s75nvhA8ZrhH55MAuw==","shasum":"3828c523ce422151f59f2c980a669fe2ed20cb85","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-1.0.2-beta.tgz","fileCount":55,"unpackedSize":69696,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMMPxEtW4Ah0iVSqJTud6q7RGSoyOgnGRCzjH3Afsy1wIhAK7KmzN+UekAzz3fz2bk/G3BGIwsZX5a+EMOr5/Bl/kV"}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_1.0.2-beta_1702399432663_0.4945053122569376"},"_hasShrinkwrap":false},"1.0.3-beta":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"1.0.3-beta","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --coverageDirectory='coverage'","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^1.0.4-beta","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"e7c6e779545e88f52a39d409d291fbbf40f114ab","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@1.0.3-beta","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-WXRaNlxzUzrSt7wyVQsAM7CYFXmSfI2z5HQHphWiLZqN0ZZ7Sa4BHmy7LGedarWQdzT2ngz4yy0Bs0RZnPpT6w==","shasum":"9dcf1006f0d06db861add976b6038e726e948706","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-1.0.3-beta.tgz","fileCount":55,"unpackedSize":69696,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAHq291uh5hIEXNVLRdZu0bns2Qk+/IPC4ehJcgcUWacAiAfmF0g/ZmmpwHCXJF0kVs2ek+l8juqnUHdyvS4zb+7pQ=="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_1.0.3-beta_1702654080765_0.8600403234836849"},"_hasShrinkwrap":false},"1.0.4-beta":{"name":"@user-credits/stripe-mongoose","author":{"name":"Zied Hamdi"},"type":"module","version":"1.0.4-beta","license":"MIT","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"publishConfig":{"access":"public"},"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"buildX":"rm -rf ./dist && npx tsc && tsc-alias","build":"rmdir /s /q .\\dist & npx tsc & tsc-alias","buildTrace":"rmdir /s /q .\\dist & npx tsc --traceResolution","lint":"npx eslint --fix .","prepublishOnly":"pnpm lint && pnpm build && pnpm testPublish","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --coverageDirectory='coverage'","testWatch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll --no-cache --coverage --coverageDirectory='coverage'","testPublish":"node --experimental-vm-modules node_modules/jest/bin/jest.js --no-cache"},"devDependencies":{"@jest/globals":"^29.7.0","@swc/jest":"^0.2.29","@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.5","@types/node":"^20.9.1","@typescript-eslint/eslint-plugin":"^6.7.2","@typescript-eslint/parser":"^6.7.2","eslint":"^8.50.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-sort-destructure-keys":"^1.5.0","eslint-plugin-sort-keys-fix":"^1.1.2","eslint-plugin-typescript-sort-keys":"^3.0.0","expect":"^29.7.0","jest":"^29.7.0","mongodb-memory-server":"^8.15.1","prettier":"^3.0.3","ts-jest":"^29.1.1","tsc-alias":"1.8.8","typescript":"^5.2.2"},"engines":{"node":">=18"},"dependencies":{"@user-credits/core":"^1.0.5-beta","awilix":"^9.0.0","bson":"^6.1.0","dotenv":"^16.3.1","mongoose":"^7.5.3","stripe":"^14.4.0"},"gitHead":"0c1a875d7b818daa1c25886e5ff403fe46e19dff","bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"},"homepage":"https://github.com/ziedHamdi/user-credits#readme","_id":"@user-credits/stripe-mongoose@1.0.4-beta","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-/Uucl+XzTvIqSHJkckqQKQPEU4xFTNeJhzofyGKPPnWlZY1BO6Zc8PgNpM8SmwkoIsLP/SBYGMWoAqOKETQFsQ==","shasum":"bda56f0c8c7227d0438afb63f723d51339d0aed9","tarball":"https://registry.npmjs.org/@user-credits/stripe-mongoose/-/stripe-mongoose-1.0.4-beta.tgz","fileCount":55,"unpackedSize":69696,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIETMQCVoaGAgQLu1VJx1Wh+FpkC0L1INl7LmUBmKu2YkAiAm7Kjrh5KnhWqd/uSwu9RJ/0FRyFqAksmWJ9wtppslVg=="}]},"_npmUser":{"name":"zhamdi","email":"zhamdi@gmail.com"},"directories":{},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stripe-mongoose_1.0.4-beta_1702895074642_0.46000503538460236"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-09T10:35:12.524Z","0.12.1-alpha":"2023-11-09T10:35:12.921Z","modified":"2023-12-18T10:24:35.037Z","0.12.2-alpha":"2023-11-10T11:41:56.534Z","0.12.3-alpha":"2023-11-10T12:12:40.996Z","0.12.4-alpha":"2023-11-10T16:04:32.606Z","0.12.5-alpha":"2023-11-10T21:53:18.966Z","0.12.6-alpha":"2023-11-10T22:02:42.661Z","0.12.7-alpha":"2023-11-10T22:21:32.578Z","0.12.8-alpha":"2023-11-10T23:05:56.516Z","0.12.9-alpha":"2023-11-13T17:00:13.340Z","0.12.10-alpha":"2023-11-13T21:14:37.197Z","0.12.11-alpha":"2023-11-14T09:13:37.473Z","0.12.12-alpha":"2023-11-15T08:50:49.487Z","0.13.1-alpha":"2023-11-17T15:52:29.139Z","0.14.0-alpha":"2023-11-20T22:31:57.331Z","0.14.1-alpha":"2023-11-20T22:46:49.310Z","0.15.0-alpha":"2023-11-21T17:57:39.680Z","0.15.1-alpha":"2023-11-21T18:01:26.034Z","0.15.2-alpha":"2023-11-22T10:09:21.417Z","0.15.3-alpha":"2023-11-23T18:46:02.493Z","0.15.4-beta":"2023-11-27T19:48:33.655Z","0.16.0-beta":"2023-11-27T21:02:45.215Z","1.0.0-beta":"2023-12-05T08:45:07.652Z","1.0.1-beta":"2023-12-12T09:31:57.508Z","1.0.2-beta":"2023-12-12T16:43:52.902Z","1.0.3-beta":"2023-12-15T15:28:00.987Z","1.0.4-beta":"2023-12-18T10:24:34.836Z"},"maintainers":[{"name":"zhamdi","email":"zhamdi@gmail.com"}],"description":"user-credits is an open-source library designed to simplify the implementation of pay-as-you-go features in your web or mobile applications. Credit flow is managed locally then synced instead of being sent back and forth to payment platforms as Stripe, in","keywords":["user-credits","credit-flow","credits-balance","payment-screens"],"author":{"name":"Zied Hamdi"},"license":"MIT","readme":"# UserCredits\r\n\r\n@user-credits is an open-source library that how no dependencies. It is designed to simplify the implementation of pay-as-you-go features in your back-end services or microservices. \r\n\r\nWhether you're building a subscription-based service, a digital marketplace, or an e-commerce platform, UserCredits provides a flexible and technology-agnostic solution to manage user credits and token-based payments.\r\n\r\nToday it focuses on pre-paid workflows, the version 2 will introduce post-pay flows with free credits and other intersting features.\r\n\r\n[![img.png](docs/see_demo.png)](http://user-credits.dev)\r\n# Core package\r\nThis package is published under [@use-credits/core](https://www.npmjs.com/package/@user-credits/core). It doesn't have any dependency; it only contains the core concept interfaces and basic database-payment-agnostic implementation services. \r\nYou can find a mongoose + stripe implementation [here](https://www.npmjs.com/package/@user-credits/stripe-mongoose)\r\n\r\n## Getting started guide\r\nTo understand how offers are declared, orders executed and payments tracked a fully explained guide is available:\r\n - 1/ [Offers explained](/docs/offers_explained.md) (Also on [Medium](https://medium.com/@zhamdi/design-your-pay-as-you-go-offers-with-user-credits-21cb8d9f162d))\r\n - 2/ [Offer loading explained](/docs/offer_loading_explained.md)\r\n - 3/ [Orders Explained](/docs/orders_explained.md)\r\n\r\n## What is it\r\n - [Features](#Features)\r\n - [Architecture](#Architecture)\r\n   - [1. Declarative Interfaces](#1-declarative-interfaces)\r\n   - [2. Technology-Agnostic Logic](#2-technology-agnostic-logic)\r\n   - [3. Implementation Layer](#3-implementation-layer)\r\n     - [Database Abstraction](#database-abstraction)\r\n     - [Payment Platform Integration](#payment-platform-integration)\r\n - [Using UserCredits](#using-usercredits)\r\n   - [IService Interface](#iservice-interface)\r\n   - [IPaymentClient Interface](#ipaymentclient-interface)\r\n - [Testing](#testing)\r\n - [IOC](#IOC)\r\n - [Contributing](#Contributing)\r\n - [License](#License)\r\n\r\n[![img.png](docs/buy_me_a_coffee.png)](https://www.buymeacoffee.com/credits)\r\n## Features\r\n\r\n  - **Token Abstraction:** UserCredits introduces the concept of tokens, which abstracts real-world currency to provide flexibility in pricing models. Users can purchase tokens that can be used to pay for services, products, or subscriptions.\r\n\r\n  - **Combined Offers:** Create bundled offers, mimicking the versatility of mobile service packages with varying quotas for calls, data, and additional services like mobile TV or games.\r\n\r\n  - **Real-Time Credit Tracking:** Keep track of your users' token balances and consumption in real time. Users can easily view their credit history and remaining tokens.\r\n\r\n  - **Payment Integration:** UserCredits is designed to integrate seamlessly with popular payment gateways, starting with Stripe. Accept payments from your users for token purchases or services rendered.\r\n\r\n  - **Flexible Offers and Subscriptions:** Customize your pricing, discounts, and subscription durations for different offers using the `offer.overridingKey` and `weight` options. These features allow you to create tailored subscription plans, making it easier to attract users with lower prices unlocked by purchasing some offers.\r\n\r\n  - **Offer Group Logic:** With the `offer.offerGroup` feature, users can subscribe to multiple offers and services simultaneously while keeping each offer's token balance separated from the others. Conceptually related offers can share the same `offerGroup` value, allowing you to compute the expiry date accordingly. For example, offers in the group 'mobileTV' can offer weekly, monthly, and yearly subscriptions. If a user subscribes for a month and later opts for a yearly subscription while the month hasn't ended, the expiry date of the subscription will combine both durations, providing a seamless and flexible experience.\r\n\r\n  - **Multi-Currency Support:** Easily display orders and prices in multiple currencies to accommodate a global audience. While currency conversion is not built-in, UserCredits offers seamless integration to sync and manage international payments effortlessly.\r\n\r\n## Architecture\r\n\r\nUserCredits is designed with a modular architecture that simplifies development by abstracting the complexities of both database interactions and payment processing libraries. The architecture consists of distinct layers, each with its unique role:\r\n\r\n### 1. Declarative Interfaces\r\nAt the core of UserCredits, you'll find a set of declarative interfaces that define the project's concepts and abstractions.\r\n\r\n### 2. Technology-Agnostic Logic\r\nThe next layer implements technology-agnostic logic, providing methods for creating orders, managing special offers based on user subscriptions, and handling various payment-related operations and monitoring.\r\n\r\n### 3. Implementation Layer\r\nEach of these layers can be changed without any adaptations needed on the other:\r\n\r\n  - #### Database Abstraction:\r\n    Beneath the technology-agnostic logic, a database implementation is in place, currently using Mongoose and MongoDB. Importantly, adding support for other databases is straightforward. You can create Data Access Objects (DAOs) and schemas that adhere to the abstract concepts defined in the first layer. These implementations are utilized by the second layer, which remains unaware of the underlying database specifics.\r\n\r\n  - #### Payment Platform Integration:\r\n    The final layer serves as a bridge to payment platforms like Stripe. It encapsulates the intricacies of payment operations, allowing UserCredits to seamlessly interact with different payment providers.\r\n\r\n> All these layers are efficiently managed through [Inversion of Control (IoC)](#ioc) principles, leveraging the Awilix library. The end result is a user-friendly and adaptable library that abstracts away the complexities of database and payment integration.\r\n\r\n**UserCredits provides developers with a single, unified facade interface, simplifying their interactions with the library and shielding them from intricate implementation details. This design encourages easy adaptation to various projects and technologies.**\r\n\r\n# Get Started\r\n\r\nTo start using UserCredits in your project, follow the installation and usage instructions in the [blog series](https://dev.to/zhamdi/architecting-pay-as-you-go-magic-usercredits-winning-formula-4ace).\r\n\r\n\r\n# Using UserCredits\r\n\r\nUserCredits provides two key interfaces to manage payments, subscriptions, and credits in your application: `IService` and `IPaymentClient`. These interfaces are designed to simplify the integration of payment processing and user credit management while remaining framework-agnostic.\r\n\r\n## IService Interface\r\n\r\nThe `IService` interface is your entry point to user credit management and offer handling. It abstracts complex operations for user-specific offers and subscriptions. To use it, follow these steps:\r\n\r\n### 1. Create an Instance\r\n\r\nInstantiate the `Service` class, passing in the necessary dependencies:\r\n\r\n```javascript\r\nconst service = new Service(daoFactory, defaultCurrency);\r\n```\r\n\r\n### 2. Load User Offers\r\n\r\nLoad user-specific offers, applying overriding logic for suboffers:\r\n\r\n```javascript\r\nconst offers = await service.loadOffers(userId);\r\n```\r\n\r\n### 3. Create an Order\r\n\r\nCreate an order for a user to purchase an offer:\r\n\r\n```javascript\r\nconst order = await service.createOrder(offerId, userId);\r\n```\r\n\r\n### 4. Check Subscription Status\r\n\r\nCheck if a user is already subscribed to a specific offer:\r\n\r\n```javascript\r\nconst existingSubscription = await service.isUserAlreadySubscribed(userId, offerId);\r\n```\r\n\r\n### 5. Get User Credits\r\n\r\nRetrieve user credits for a given user. User credits represent a list of credits grouped by offerGroup, allowing users to consume credits within each group independently of others. Each offerGroup contains activated offers with their respective start and expiry dates, along with the associated tokens.\r\n\r\n```javascript\r\nconst userCredits = await service.getUserCredits(userId);\r\n```\r\n\r\n### 6. Consume Tokens\r\n\r\nAnytime, even if the order is not paid yet, users can call token consumption (this is intentional to allow post-paid behavior). So as mentioned in the start of the document: the library supposes it behaves in a safe environment, where you checked all grants before calling it. The lib gives you the means to check if an operation is possible, but doesn't do it for you when multiple scenarios are possible.\r\n```javascript\r\nawait service.tokensConsumed(userId: K, offerGroup: string, count: number);\r\n```\r\n\r\n### 7. Deduce Expired Orders Credits\r\n\r\nDeduct credits from grants that were not utilized before their expiry date. This function serves to warn users about low credits and imminent expiry orders. \r\n```javascript\r\nawait service.checkForExpiredOrders(userId: K, warn?: number, low?: { min: number; offerGroup: string }[])\r\n```\r\nYou will be using this function to warn users about their low credits and soon expiring orders.\r\n\r\n - The _**warn**_ parameter signifies the time in milliseconds before the expiry date of orders that triggers a warning. \r\n - The _**low**_ parameter offers fine-grained control, allowing warnings based on token counts for specific use cases (e.g., remaining mobile data or unused conference talk credits). It provides a tailored approach for diverse scenarios, ensuring relevant warnings for each offerGroup. \r\n\r\n## IPaymentClient Interface\r\n\r\nThe `IPaymentClient` interface abstracts payment processing operations. It allows you to integrate payment gateways seamlessly without locking your application to a specific technology. To use it, follow these steps:\r\n\r\n### 1. Create an Instance\r\n\r\nInstantiate a class implementing the `IPaymentClient` interface, providing the required configurations:\r\n\r\n```javascript\r\nconst paymentClient = new MyPaymentClient(config);\r\n```\r\n\r\n### 2. Execute Payment\r\n\r\nExecute a payment and handle the payment execution status:\r\n\r\n```javascript\r\nconst updatedOrder = await paymentClient.afterPaymentExecuted(order);\r\n```\r\n\r\n### 3. Check User Balance\r\n\r\nCheck a user's balance before processing payments:\r\n\r\n```javascript\r\nconst balance = await paymentClient.checkUserBalance(userId);\r\n```\r\n\r\n### 4. Create Payment Intent\r\n\r\nCreate a payment intent to handle transactions:\r\n\r\n```javascript\r\nconst paymentIntent = await paymentClient.createPaymentIntent(order);\r\n```\r\n\r\n### 5. Handle Webhooks\r\n\r\nHandle payment-related webhooks securely:\r\n\r\n```javascript\r\npaymentClient.handleWebhook(eventPayload, webhookSecret);\r\n```\r\n\r\nBy leveraging the `IService` and `IPaymentClient` interfaces, you can seamlessly manage user credits, subscriptions, and payments in your application while remaining flexible and adaptable to various technologies.\r\n\r\n\r\n## Testing\r\nWe are using the project mongodb-memory-server to run an in memory mongodb for tests. Which generates the following warning\r\n\r\n`(node:36336) ExperimentalWarning: VM Modules is an experimental feature and might change at any time`\r\n\r\n### Prerequisites\r\nJest must be launched with the node option `--experimental-vm-modules` also to enable ecma6 syntax in config files\r\n#### From the console:\r\nhere's an example of how to add that param from console:\r\n`node --experimental-vm-modules node_modules/jest/bin/jest.js test/db/dao/IOfferDao.test.ts --testNamePattern=\"it() test name\"\r\n`\r\nOr `node --experimental-vm-modules node_modules/jest/bin/jest.js`\r\n\r\n### IOC\r\nBecause of parallel processes to access mongodb in Jest, we were obliged to create multiple simultaneous in memory mongodb instances to avoid inconsistencies in saved data between different tests.\r\nTherefore, we enabled multiple simultaneous connections to mongodb through mongoose as described in https://mongoosejs.com/docs/connections.html#multiple_connections.\r\nTo adapt to that constraint, TestContainerSingleton.getInstance() now accepts a singleton:boolean parameter to tell it if it has to be a singleton or a prototype (on false value). See the file testContainer.ts for reference\r\n\r\n## Contributing\r\n\r\nUserCredits is an open-source project, and we welcome contributions from the community. Whether you want to add new features, improve documentation, or report issues, your help is valuable. Feel free to [contact me](https://twitter.com/zhamdi) or to fork the project.\r\n\r\n[![img.png](docs/buy_me_a_coffee.png)](https://www.buymeacoffee.com/credits)\r\n\r\n## License\r\n\r\nUserCredits is released under the [MIT License](https://github.com/ziedHamdi/UserCredits/blob/master/LICENSE). Feel free to use it in your projects, commercial or otherwise.\r\n\r\n---\r\n\r\n[![GitHub stars](https://img.shields.io/github/stars/ziedHamdi/UserCredits?style=social)](https://github.com/ziedHamdi/UserCredits/stargazers)\r\n","readmeFilename":"README.md","homepage":"https://github.com/ziedHamdi/user-credits#readme","repository":{"type":"git","url":"git+https://github.com/ziedHamdi/user-credits.git"},"bugs":{"url":"https://github.com/ziedHamdi/user-credits/issues"}}